Search code examples
iosuiviewswiftcgrect

Making a triangle in a UIView with a CGRect Frame


HI I am making a game and need a spike at the bottom which I have decided to do via a UIView and collisions. I am coding in swift.

I currently have a square:

        //Object Setup
        let square = UIView(frame: CGRect(x:100, y:100, width: 100, height: 100))
        square.backgroundColor = UIColor.purpleColor()
        view.addSubview(square)

And I would like a triangle, I do have an image which I can use for a triangle but the image is square so surely the collision would be when it touches the image borders not the actual trianlge borders please advice on how to do with image or how I got square.

Thanks

Alex


Solution

  • There is tutorial here:

    http://jamesonquave.com/blog/drawing-custom-views-with-swift-andrew-vanwagoner/

    with code like this:

    func drawPlayPathTo(context: CGContextRef, boundedBy rect: CGRect) {
      CGContextSetFillColorWithColor(context, UIColor.blackColor().CGColor)
      CGContextMoveToPoint(context, rect.width / 4, rect.height / 4)
      CGContextAddLineToPoint(context, rect.width * 3 / 4, rect.height / 2)
      CGContextAddLineToPoint(context, rect.width / 4, rect.height * 3 / 4)
      CGContextAddLineToPoint(context, rect.width / 4, rect.height / 4)
      CGContextFillPath(context)
    }