2016-08-10 9 views
0

В моем коде у меня есть таблица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 

} 

Спасибо за заранее ...

ответ

0

Во-первых, вы должны понимать объект UITableView. UITableView - это массив ячеек, хорошо? Затем вам нужно использовать некоторые методы, связанные с UITableView, например numberOfRowsInSection (где приложение знает количество ячеек) и cellForRowAtIndexPath (где приложение знает ячейку)

О ваших вопросах, я рекомендую вам использовать розетки для подключения ярлыков, кнопок , объекты к контроллеру (старайтесь не использовать жесты, если это не нужно)

И, наконец, ячейки объектов запрограммированы в ячейку. Если у вас сложная ячейка, вам понадобится настраиваемый контроллер ячейки.

+0

первое спасибо за ваш комментарий. мой рабочий стол отлично работает, и у меня есть выход, который подключается ко всем ярлыкам. Мои вопросы касаются интерактивности и активации действий для всех ярлыков, которые будут вызывать один метод/func, если это возможно, и как это сделать. –

+0

хорошо, хорошо. вам нужна ячейка контроллера в таблицу yout и связать свою метку с вашей розеткой в ​​контроллере UITableViewCell. вам не нужно создавать label1, label2, .... в viewdidload из вашего uitableviewcontroller. –

 Смежные вопросы

  • Нет связанных вопросов^_^