从UILabel获取文本

时间:2016-01-20 22:58:52

标签: ios swift swift2

我正在以编程方式生成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")
}

1 个答案:

答案 0 :(得分:3)

更改" nameTap "在action至" nameTap:" (注意结肠);并且应该点击func nameTap(sender : UIGestureRecognizer)