Как определить, что SubView закрыто? - PullRequest
2 голосов
/ 31 января 2010

У меня есть представление A, когда пользователь нажимает кнопку, во всплывающем окне View B. Когда пользователь закрывает View B, и мы возвращаемся к View AI, я хочу обновить метку в View A, но есть ли событие, которое я можно использовать, чтобы обнаружить, что мы вернулись в View B? Я знаю, что ViewDidLoad больше не запускается.

Ответы [ 2 ]

2 голосов
/ 31 января 2010

Я запутался в взглядах на ваш вопрос, но вы можете посмотреть на NSNotificationCenter.

В этом случае вы должны опубликовать событие NSNotification, когда пользователь отклонит Просмотр B.

Представления A и B могут зарегистрироваться в центре уведомлений для прослушивания этого уведомления об увольнении, вызывая селектор (метод), когда это уведомление услышано.

В этом методе вы можете обновить состояние метки или сделать что-либо еще, что включает обновление состояния приложения.

Аналогично, вы можете опубликовать уведомление, когда всплывающее окно View B, и иметь другие классы, зарегистрированные для этого типа уведомления.

Дополнительная информация о NSNotificationCenter находится на сайте документации Apple .

1 голос
/ 31 января 2010

Похоже, вы имеете в виду UIViewControllers, а не UIViews, правильно? В этом случае вы можете использовать -viewWillDisappear: (BOOL) animated и -viewDidDisappear: (BOOL) animated, чтобы определить, когда ваш viewController собирается быть / был просто отклонен. Они должны быть реализованы в представлении B в вашем примере. Если вы хотите узнать, когда View A снова виден, вы можете использовать -viewWillAppear: и -viewDidAppear.

...