App maken: ook jij kunt het leren!

 

de iOS Academie Forums

Forums - Producten van de iOS Academie - De videocursus: Wat je over Swift moet weten: BlokkenView

Leendert Jan  Leendert Jan heeft nog geen Studiekaart. Klokje18 jan 2015, 14:52
Avatar
Avatar
Berichten:22


Hoe kan je in de nieuwe Blokken app (de bonusvideo), de blokken veranderen door een .png foto of illustratie. Ik heb een png bestand in de  Images.xcassettes gesleept. Ik heb er in de BlokkenView class voorgezorgd dat de size van een frame hetzelfde blijft. 

Ik krijg een foto van een boom te zien elke keer als ik tap op het scherm, maar op een totaal andere plek dan ik tap. Terwijl ik niks heb verander in de "blokView-centerpoint vinden"-procedure.

Geen idee waar het aan ligt. Iemand enig idee ??

 

 

import UIKit

 

class PrentView: UIView {

    

    //var cardImageView:UIImageView = UIImageView()

    //var foto200: UIImageView = UIImageView()

    

    func randomCGSize() -> CGSize {

        let width = CGFloat(arc4random_uniform(50)) + 50

        let height = CGFloat(arc4random_uniform(50)) + 50

        

        return(CGSize(width: width, height: height))

    }

    

    func sizeCGSize() -> CGSize {

        let width = 50

        let height = 50

        return(CGSize(width: width, height: height))

    }

    

    required init(coder aDecoder: NSCoder) {

    super.init(coder: aDecoder)

  }

 

    override init(frame: CGRect) {

        super.init(frame: frame)

    }

    

 

    

    init(point: CGPoint) {

        super.init()

        let size = sizeCGSize()

        self.frame = CGRect(origin: point, size: size)

        let x = point.x - size.width / 2

        let y = point.y - size.height / 2

        let nieuwOrigin = CGPoint(x: x, y: y)

        

        var foto = UIImageView(frame: CGRect(origin: nieuwOrigin, size: size))

        foto.image = UIImage(named: "boom.jpg")

        

        self.addSubview(foto)

        

    }

 

 

   }

 

 

en de ViewController class:.....

 

import UIKit

 

class ViewController: UIViewController {

 

    override func viewDidLoad() {

        super.viewDidLoad()

        // Do any additional setup after loading the view, typically from a nib.

    }

 

   

    @IBAction func plaatsPrent(sender: AnyObject) {

        let recognizer = sender as UITapGestureRecognizer

        let point = recognizer.locationInView(self.view)

        println("(point)")

        let nieuwPrent = PrentView(point: point)

        self.view.addSubview(nieuwPrent)

    }

 

}

 

 

 

Reageer