我正在尝试将Tap手势添加到二月标签上,如上图所示,但我不知道为什么当我向UI标签添加手势识别器时,它不起作用,但如果我将该手势识别器分配给视图(蓝色框),它按预期工作。
我们真的可以在UI Label中添加手势识别器吗?或者我应该怎么做才能在UI标签上添加手势?
class AttendanceListVC: UIViewController {
@IBOutlet weak var dummyView: UIView!
@IBOutlet weak var monthLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
prepareTapGestureToChooseMonth()
}
}
func prepareTapGestureToChooseMonth() {
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(AttendanceListVC.tapFunction(sender:)))
tapGesture.numberOfTapsRequired = 1
monthLabel.addGestureRecognizer(tapGesture)
dummyView.addGestureRecognizer(tapGesture)
}
@objc func tapFunction(sender: UITapGestureRecognizer) {
// show pop up
}
}
答案 0 :(得分:8)
我们实际上可以将手势识别器添加到UI标签
当然可以。但如果您希望手势识别器执行任何事情,您还需要打开标签class TestClass:
def __init__(self):
self.data = 'data'
def __setattr__(self, name, value):
print("Attempt to edit the attribute %s" %(name))
object.__setattr__(self, name, value)
。
isInteractionEnabled
(但是,请注意,这可能不是一个好的用户界面。用户不会期望能够点击标签,并且它不会以生动的可见方式响应被点击。也许界面中的“二月”应该是按钮的标题。)