Как сказать, когда UIView получает фокус - PullRequest
5 голосов
/ 22 октября 2010

На iPhone мы можем просто использовать (void) viewDidAppear:(BOOL)animated; для выполнения действий, когда вид становится фокусом.В некоторых случаях у нас есть модальное представление с другим модальным видом поверх него, и на iPhone закрытие самого верхнего модального представления вызовет viewDidAppear для нижнего модального представления.

Это не так дляiPad, поскольку вид остается «видимым», хотя он находится за другим модальным видом.Можно ли из UIViewController определить, когда само представление становится активным?

Ответы [ 2 ]

4 голосов
/ 22 октября 2010

Разве вы не можете просто использовать, когда вид контроллера модального представления исчезает?Когда контроллер модального представления получает viewWill / DidDissapear, вы знаете, что исходный вид снова виден.

РЕДАКТИРОВАТЬ: в viewDidDissapear модального viewcontroller добавьте это:метод viewDidAppear вызывается так, как он есть на iPhone.

Вам вообще не нужно устанавливать self.parentViewController, как это делается для вас в методе presentModalViewController (тот, который вы используете для отображения модальныхпросмотр контроллера)

1 голос
/ 22 октября 2010

попробуйте проверить значение [theUIView isFirstResponder] это должно быть True для вида, который имеет фокус клавиатуры и т. д.

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