UITapGestureRecognizer не будет работать для пользовательского класса UIView - PullRequest
0 голосов
/ 26 октября 2018

У меня есть пользовательский класс UIView, который создает флажок.Этот UIView находится в пользовательской ячейке табличного представления.

У меня есть этот код в cellForRowAt

  func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! TransactionsTableViewCell
    cell.isUserInteractionEnabled = true
    cell.addSubview(cell.test)
    let gesture = UITapGestureRecognizer(target: self, action:  #selector (self.recurringChange(_:)))
    cell.test.isUserInteractionEnabled = true
    cell.test.addGestureRecognizer(gesture)
  }

У меня есть эта функция в классе ViewController

@objc func recurringChange(_ sender: 
UITapGestureRecognizer) {
    print("test")
}

При нажатии test просмотр не печатает тест.Я пробовал это с обычным UIView (не пользовательский), и он работал точно так, как ожидалось.

Если это помогает, вот ссылка на пользовательский класс: https://github.com/vladislav-k/VKCheckbox

1 Ответ

0 голосов
/ 26 октября 2018

Я проверил код в Xcode 10, и нет проблем.

Вы можете проверить "cell.isUserInteractionEnabled = true" и "cell.addSubview (test)" добавляется в ячейку перед добавлением TapGesture.

...