我尝试按照以下代码制作可点击的UILabel
:
class ViewNotificationsDetails: UIViewController {
@IBOutlet weak var back: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
let tap = UITapGestureRecognizer(target: self, action: #selector(ViewNotificationsDetails.tapFunction))
back.isUserInteractionEnabled = true
back.addGestureRecognizer(tap)
}
@objc func tapFunction(sender:UITapGestureRecognizer) {
print("tap working")
}
}
但是在执行代码时,我收到了错误 - >
线程1:致命错误:在展开时出乎意料地发现nil 该行的可选值" back.isUserInteractionEnabled = true"。
可能是什么问题?
答案 0 :(得分:0)
使用back.userInteractionEnabled = true
你做错了,因为isUserInteractionEnabled。
答案 1 :(得分:0)
问题在于您的标签内存分配。您已创建IBOutlet
标签,但未将其与Storyboard / XIB视图控制器中的Interface连接。
转到界面生成器:(故事板/ XIB)查看控制器▶选择'连接检查器' ▶连接标签插座'返回'使用Label接口元素
答案 2 :(得分:0)
试试这段代码,与我合作
class ViewController: UIViewController {
@IBOutlet weak var cliclableLable: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
let tap = UITapGestureRecognizer(target: self, action: #selector(ViewController.tapFunction))
cliclableLable.isUserInteractionEnabled = true
cliclableLable.addGestureRecognizer(tap)
}
func tapFunction(sender:UITapGestureRecognizer) {
print("tap working")
}
}
也不要忘记将您的标签与代码链接
答案 3 :(得分:0)