2016-06-16 7 views
1

Мне нужно, чтобы resignFirstResponder() в текстовом поле, когда пользователь удаляет кнопку «Назад» в навигационной панели навигационного контроллера, в противном случае я получаю некоторую ошибку. Кнопка «Назад» работает так, как должна (показано предыдущее представление), но я не знаю, где сделать отставку первого ответчика. Слишком поздно, если я это сделаю в viewWillDisappear() (я попробовал), и prepareForSegue() не вызван, поэтому мне нужно как-то это сделать, как только кнопка возврата будет нажата или, по крайней мере, до viewWillDisappear(). Как определить это событие?Обнаружение при нажатии кнопки назад на панели навигации

+1

Вопрос был в stackoverflow - [ответить] (http://stackoverflow.com/questions/8228411/detecting-when-the-back-button-is-pressed-on-a-navbar) ответ –

ответ

2

Примечание: См первый комментарий на вопрос для простого ответа

Вы могли бы объединить NotificationCenter и этот пост: Execute action when back bar button of UINavigationController is pressed сделать пользовательские кнопки назад (который выглядит так же). Просто разместите Notification в действии для кнопки «Назад» и добавьте наблюдателя для Notification на textfield, действие которого вызывает resignFirstResponder. Вам также необходимо сделать изображение или нарисовать изображение в CoreGraphics для стрелки.

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