Как обнаружить изменение первого респондента в iOS? - PullRequest
0 голосов
/ 08 февраля 2019

У меня есть UIViewController с UIScrollView внутри.Этот вид прокрутки содержит внутри себя UITextFields, и я хочу иметь возможность прокручивать вид в соответствии с полем в фокусе.Мой вопрос: есть ли способ определить, когда первый респондент в UIViewController изменился?Так что я могу получить его рамку и изменить смещение вида прокрутки, чтобы оно располагалось поверх клавиатуры.Я уже использую keyboardWillShowNotification, чтобы получить изменения размера клавиатуры.Но когда клавиатура уже отображается, и первым респондентом становится другое текстовое поле, в клавиатуре не вносятся изменения, и я не могу определить, кто является новым первым респондентом.

Обновления:

  • Представление прокрутки находится в Контроллере представления контейнера, поэтому текстовые поля добавляются, и UITextFieldDelegate может не работать для этого.Если я не могу установить делегатов после добавления содержимого контейнера.
  • Я уже управляю уведомлениями клавиатуры, они не покрывают все случаи.
  • В форме UITextView sтоже.

1 Ответ

0 голосов
/ 08 февраля 2019

Вы должны сделать свой UIViewController делегатом UITextfields, а в вашей реализации func textFieldDidBeginEditing(UITextField) вы можете узнать, какое текстовое поле редактируется.

Для справки: https://developer.apple.com/documentation/uikit/uitextfielddelegate

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...