Добавить жест в UILabel - PullRequest
       28

Добавить жест в UILabel

1 голос
/ 21 июня 2019

Я пытаюсь добавить жест касания к моему UILabel, но не могу заставить его всплыть при нажатии на ярлык.Я посмотрел, как все остальные делали это, и из тех, что я обнаружил, они объявляли метку в одной строке, а затем добавлял жест внутри представления.Можно ли добавить жест в мое объявление ярлыка, чтобы сохранить его аккуратным?

let apetureButton: UILabel = {
    let tapLabel = UITapGestureRecognizer(target: self, action: #selector(apetureSelect))
    let text = UILabel() 
    text.isUserInteractionEnabled = true
    text.addGestureRecognizer(tapLabel)
    text.text = "400"  
    return text
}()

@objc func apetureSelect(sender:UITapGestureRecognizer) {
     print("ApetureSelect")
}

1 Ответ

3 голосов
/ 21 июня 2019

Вам нужен ленивый var, чтобы иметь доступ к self изнутри затвора

lazy var apetureButton: UILabel = { 
   let text = UILabel() 
   let tapLabel = UITapGestureRecognizer(target: self, action: #selector(apetureSelect))
   text.isUserInteractionEnabled = true
   text.addGestureRecognizer(tapLabel)
   text.text = "400" 
   return text
}()
...