我正在以编程方式生成UILabel
并为每个人提供一个轻击手势识别器。
我想点击每个标签中的文字。
您可以在下面看到我的代码。我已经查看了其他答案,并尝试复制。但是,我还在崩溃
“无法识别的选择器已发送到实例”
每当我尝试点击标签时。
func placeLabelCenterish(){
let pushedLabel = UILabel(frame: CGRectMake(0,0,self.view.frame.size.width,25))
pushedLabel.center = CGPointMake((self.view.frame.size.width)/2, 200)
pushedLabel.textAlignment = .Center
pushedLabel.font = UIFont.boldSystemFontOfSize(15)
pushedLabel.text = "HERE"
self.view.addSubview(pushedLabel)
let tap = UITapGestureRecognizer()
tap.addTarget(self, action: "nameTap")
pushedLabel.addGestureRecognizer(tap)
pushedLabel.userInteractionEnabled = true
}
func nameTap(sender : UIGestureRecognizer){
print("tapped")
let thisLabel = sender.view as! UILabel
print(thisLabel.text)
}
当我从第二种方法中删除发件人:UIGestureRecognizer
参数时,它会打印“tapped”罚款。所以,我知道它正在接收水龙头。
func nameTap(){
print("tapped")
}
答案 0 :(得分:3)
更改" nameTap "在action
至" nameTap:
" (注意结肠);并且应该点击func nameTap(sender : UIGestureRecognizer)
。