@sportredwhite

Как сделать, чтобы при нажатие только одной ячейке срабатывал переход в ViewController?

Всем, привет! Можете подсказать, плз.

Есть TableViewController и при клике только одной ячейке(например indexPath.row == 2) совершился переход на ViewController. Другие ячейке не должны нажиматься)

Думал можно как с didSelectRowAt, что-то придумать, но не получилось. Там все ячейке нажимаются и переходят.
  • Вопрос задан
  • 1442 просмотра
Решения вопроса 1
ManWithBear
@ManWithBear
Swift Adept, Prague
Selection style = none для клеток, в didSelectRowAt при совпадении индекса и номера желанной клетки делаем переход
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "Cell")!
    cell.selectionStyle = indexPath.row == 1 ? .default : .none
    return cell
}

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    tableView.deselectRow(at: indexPath, animated: true)
    guard indexPath.row == 1 else { return }
    let vc = UIViewController()
    navigationController?.pushViewController(vc, animated: true)
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы