瓷砖不工作

时间:2016-04-06 18:41:37

标签: ios swift

我刚刚开始这个,但我遇到了一些麻烦。 Xcode找到该方法并将其接受为选择器。但每当我点击视图时都没有任何反应(我正在通过代码创建视图。它们在模拟器上看起来很好,但我添加到视图中的手势识别器不起作用。)

视图控制器中的viewDidLoad:

            let tile = BoardTile(x: 0, y: 100, size: 50)
            view.addSubview(tile.view)

我正在尝试做的事情

import UIKit

class BoardTile: NSObject{

    let view: UIView
    let label: UILabel

    init(x:Int, y:Int, size:Int){
        view = UIView(frame: CGRect(x: x, y: y, width: size, height: size))
        view.backgroundColor = ViewController.baseColor
        label = UILabel(frame: CGRect(x: 0, y: 0, width: size, height: size))
        label.text = "1"
        label.font = font
        label.textAlignment = .Center
        view.addSubview(label)

        //***********HELP HERE, DOESN'T WORK***********//
        let tap = UITapGestureRecognizer()
        self.view.addGestureRecognizer(tap)
        tap.addTarget(self, action: #selector(tapped))

    }

    func tapped(){
        // Never prints when I tap: 
        print("tapped!")
    }
}

1 个答案:

答案 0 :(得分:1)

是什么让#34; tile"对象活着?如果" tile"实例在方法范围内死亡,视图和标签随之消失。