В моем коде у меня есть таблицаView и несколько меток. Я хочу, чтобы при нажатии пользователем на ячейку и после этого нажимайте на одну из ярлыков, текст на ярлыке будет таким же, как текст в строке, который нажмите.Как сделать несколько ярлыков доступными в ярлыке?
Q1. Как я могу активировать все метки, которые можно щелкнуть, и подключиться к одной функции, которая будет указывать на конкретную метку каждый раз, когда пользователь нажимает на нее?
Q2. Я попытался сделать тот же жест всем ярлыкам с помощью UITapGestureRecognizer. По-видимому, этот жест относится только к последней метке (Lbl4 здесь, в примере кода). Это означает, что текст в Lbl1 в моем func изменяется только нажатием на Lbl4. . почему это? и как я могу изменить его, что он будет ссылаться на все метки?
override func viewDidLoad() {
super.viewDidLoad()
let aSelector : Selector = #selector(ViewController.lblTapped)
let tapGesture = UITapGestureRecognizer(target: self, action: aSelector)
tapGesture.numberOfTapsRequired = 1
Lbl1.addGestureRecognizer(tapGesture)
Lbl2.addGestureRecognizer(tapGesture)
Lbl3.addGestureRecognizer(tapGesture)
Lbl4.addGestureRecognizer(tapGesture)
}
func lblTapped(){
Lbl1.text = self.currentPlayerChooseInRow
}
Спасибо за заранее ...
первое спасибо за ваш комментарий. мой рабочий стол отлично работает, и у меня есть выход, который подключается ко всем ярлыкам. Мои вопросы касаются интерактивности и активации действий для всех ярлыков, которые будут вызывать один метод/func, если это возможно, и как это сделать. –
хорошо, хорошо. вам нужна ячейка контроллера в таблицу yout и связать свою метку с вашей розеткой в контроллере UITableViewCell. вам не нужно создавать label1, label2, .... в viewdidload из вашего uitableviewcontroller. –