为什么我的 UITapGestureRecognizer 不调用它的函数?
Why doesn't my UITapGestureRecognizer call its func?
我希望在我点击或双击我以编程方式声明的 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()")
}
它按照上面的代码工作。
问题是“cock pit error”:我点击了错误的 UILabel。
我有一个用于显示值的标签,一个用于值的标题。
我错误地将点击手势识别添加到值而不是标题。
我希望在我点击或双击我以编程方式声明的 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()")
}
它按照上面的代码工作。 问题是“cock pit error”:我点击了错误的 UILabel。 我有一个用于显示值的标签,一个用于值的标题。 我错误地将点击手势识别添加到值而不是标题。