【发布时间】:2023-03-08 13:40:02
【问题描述】:
我希望当我点击或双击我以编程方式声明的 UILabel 时发生一些事情,但是当我按下它时什么也没有发生。
这是我的代码,当我点击 heart_rate_value_UILabel 时应该会打印“HR_tap”。
但是什么也没发生。
class CentralViewController: UIViewController
{
. . .
let heart_rate_value_UILabel: UILabel =
{
let this_UILabel = UILabel()
return this_UILabel
}()
. . .
override func viewDidLoad()
{
value_row_x += 120 // + width of heart rate title
heart_rate_value_UILabel.frame = CGRect(x: value_row_x, y: value_row_y, width: value_row_width, height: value_row_height )
heart_rate_value_UILabel.center = CGPoint( x: value_row_x + value_row_width / 2, y: value_row_y + value_row_height/2 )
heart_rate_value_UILabel.textAlignment = .left
heart_rate_value_UILabel.text = "nnn"
heart_rate_value_UILabel.sizeToFit()
// Enable tap gesture detection:
heart_rate_value_UILabel.isUserInteractionEnabled = true
heart_rate_value_UILabel.addGestureRecognizer(UITapGestureRecognizer(target:self, action: #selector( self.HR_tap )))
self.view.addSubview( heart_rate_value_UILabel)
. . .
}
. . .
@objc func HR_tap()
{
print("********************* HR_tap()")
}
【问题讨论】:
-
直接试试
#selector(HR_tap)。 -
试试
lazy var heart_rate_value_UILabel : UILabel = .... -
Itachi:那没用。拉贾:那没用。
标签: ios swift uilabel uitapgesturerecognizer gesture-recognition