Я получаю неправильный indexPath в didSelectRowAt, когда клавиатура UITextView отключается при нажатии на фон

#ios #swift #didselectrowatindexpath

#iOS #swift #didselectrowatindexpath

Вопрос:

У меня есть TableView. Последней строкой которой является UITextView, в то время как 2 ячейки выше доступны для просмотра (при нажатии на них появляется другой ViewController). Когда я начинаю редактировать текстовое поле, клавиатура отображается так, что верхние ячейки больше не помещаются, и мы их не видим. Затем я решаю скрыть свою клавиатуру, нажав на фон. Проблема в том, что когда я нажимаю на определенную точку, вызывается didSelectRowAt. Эта «определенная» точка — это любая точка, которая появляется в границах 2-х интерактивных ячеек, описанных выше. Похоже, что после отключения клавиатуры и восстановления исходного пользовательского интерфейса распознается жест касания, и система считает, что ячейка была выбрана. Кто сталкивался с этой проблемой раньше? Как я могу справиться с этой ошибкой? Пожалуйста, поделитесь своим опытом

Комментарии:

1. Предоставьте объяснение со скриншотами и кодом. Предоставьте точные данные.

Ответ №1:

Этот вопрос неясен. Вы неправильно выбрали путь к индексу или вам вообще не нужен какой-либо выбор?

Когда вы показываете клавиатуру и обновляете пользовательский интерфейс, вы можете отключить любой выбор в таблице. После того, как вы закончите с клавиатурой, вы можете включить ее снова.

https://developer.apple.com/documentation/uikit/uitableview/1614911-allowsselection