Для ясности У меня есть UIView Controller
с видом сверху, содержащим textfield
. У меня также есть tableview
ниже, что каждая строка содержит 1 textfield
.Как перезагрузить все ячейки таблицы, редактируя текстовое поле в ячейке tableview - iOS Swift
Проблема: Когда я "didEndEditing"
ЛЮБОЙ из текстовых полей означает, что это вид сверху и те, что указаны в таблице. Я хочу сохранить эту информацию в основных данных и перезагрузить tableview
.
Это прекрасно работает, ЗА ИСКЛЮЧЕНИЕМ! Когда я выбираю текстовое поле (где угодно), введите значение, а затем из одного поля в текстовое поле выберите другое текстовое поле. Это заставляет клавиатуру застревать, которая никогда не исчезнет.
Я поставил диагноз, что это происходит потому, что, когда вызывается "DidEndEditing"
, я теряю ссылку на только что выбранное текстовое поле (whos-клавиатура вверх) из-за перезагрузки ячейки.
Неужели кто-нибудь сталкивался с этим раньше? Кто-нибудь нашел изящное решение для перезагрузки данных на tableview cell
при выборе textfield
внутри него?
Edit: Я попытался переместить reloadData()
к "DidBeginEditing"
функции в текстовом поле, и успешно получил индикатор выбора появиться, но опять же клавиатура не имеет никакого отношения, даже если я называю стать первым ответчиком после tableView.relaodData()
Попробуйте перезагрузить данные, когда клавиатура вставлена вместо загрузки в UItextField Delegate. Установите наблюдателя для открытия клавиатуры и закрытия. –