App maken: ook jij kunt het leren!

 

de iOS Academie Forums

Forums - App-ontwikkeling - Swift en iOS: UIBazerpath verander de kleur

David  David heeft nog geen Studiekaart. Klokje03 jun 2015, 20:16
Avatar
Avatar
Berichten:95


hoi allemaal, 

 

ik heb een huisje gemaakt met UIbazerpath, en wil naar dat die is toegevoegd aan het storyboard de kleur veranderen. (het moet een huis voorstellen, maar ik ben er nog mee bezig om het beter te maken.)

 

import UIKit

import Foundation

 

class ViewController: UIViewController{

    

    let a = HomeImageView(frame: CGRectMake(0, 0, 100, 100))

    

    override func viewDidLoad() {

        super.viewDidLoad()

        self.view.addSubview(a)

        a.color(UIColor.redColor())

   }

 

    override func didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()

   }

    

}

 

class HomeImageView :UIButton{

    var myBezier = UIBezierPath()

    func color(color: UIColor){

        color.setFill()

        myBezier.fill()

        color.setStroke()

        myBezier.stroke()

    }

    override func drawRect(rect: CGRect) {

        let width = rect.size.width

        let height = rect.size.height

        self.autoresizingMask = UIViewAutoresizing.FlexibleHeight | UIViewAutoresizing.FlexibleWidth

        

        myBezier.moveToPoint(CGPoint(x: width / 2 , y: 0))

        myBezier.addLineToPoint(CGPoint(x: 0, y: height / 4))

        myBezier.addLineToPoint(CGPoint(x: 0, y: height))

        myBezier.addLineToPoint(CGPoint(x: width / 3, y: height))

        myBezier.addLineToPoint(CGPoint(x: width / 3, y: height / 4 * 3))

        myBezier.addLineToPoint(CGPoint(x: width / 3 * 2, y: height / 4 * 3))

        myBezier.addLineToPoint(CGPoint(x: width / 3 * 2, y: height))

        myBezier.addLineToPoint(CGPoint(x: width, y: height))

        myBezier.addLineToPoint(CGPoint(x: width, y: height / 4))

        myBezier.addLineToPoint(CGPoint(x: width / 2, y: 0))

      

        myBezier.closePath()

        UIColor.blueColor().setFill()

         myBezier.fill()

       

        UIColor.blueColor().setStroke()

        myBezier.lineWidth =  rect.size.width / 18

        myBezier.stroke()

        

    }

}

 

groetjes,

 

david

Reageer


Admin Roelf  Klokje04 jun 2015, 16:47
Avatar


David,

Het antwoord vind je hier, in deze video.

Succes!

 

Reageer

Goed advies! 3 personen vinden dit goed advies.

David  David heeft nog geen Studiekaart. Klokje04 jun 2015, 18:28
Avatar
Avatar
Berichten:95


dankjewel roelf!

 

was super duidelijk!

 

groetjes,

 

david

Reageer

Leuk! 1 persoon vindt vindt dit leuk.