【发布时间】:2016-01-07 13:14:23
【问题描述】:
我有一个带有 UITapGestureRecognizer 和 longgestureRecognizer 的标签:
let gestureRecognizer = UITapGestureRecognizer(target: self, action: Selector("labelPressed:"))
let longgestureRecognizer = UILongPressGestureRecognizer(target: self, action: Selector("longLabelPressed:"))
label.addGestureRecognizer(gestureRecognizer)
label.addGestureRecognizer(longgestureRecognizer)
我想在 UIButton 按下时改变颜色:
func longLabelPressed(recognizer:UILongPressGestureRecognizer){
if let label = recognizer.view as? UILabel {
if recognizer.state == .Began {
label.textColor = UIColor.redColor()
}
if recognizer.state == .Ended {
label.textColor = UIColor.blackColor()
}
}
}
但是如何检测点击结束事件呢?
func labelPressed(recognizer:UITapGestureRecognizer) {
if let label = recognizer.view as? UILabel {
}
}
我的目标是创建像 UIButton 这样带有触摸事件的标签。
【问题讨论】:
-
你的代码有什么问题?
-
如果这是您的目标,为什么不使用按钮来代替?
-
所以我需要将按钮替换为标签:(或者如果您找到更好的解决方案...
-
我认为即使您使用点击手势识别器,它也会与桌面点击手势混淆。使用 UIButtons 总是更好