КВО о "окнах" стоимости UIApplication? - PullRequest
3 голосов
/ 17 мая 2010

Не работает следующее:

[[UIApplication sharedApplication] addObserver:self forKeyPath:@"windows"
   options:(NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld)
   context:NULL];

Вместе с этим на стороне наблюдателя:

- (void) observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
  NSLog(@"never reached!");
}

Есть какие-нибудь подсказки?

N.B. Моя цель - получить уведомление, когда отображается (сгенерированный системой) UIAlertView.

1 Ответ

4 голосов
/ 23 мая 2010

Автоответчик ...

Правильный способ определить, когда отображается произвольный UIAlertView, - использовать NSNotificationCenter:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(windowDidBecomeVisible:) name:UIWindowDidBecomeVisibleNotification object:nil];

А потом, внутри:

- (void) windowDidBecomeVisible:(NSNotification*)notification {}

Проверьте, содержит ли рассматриваемое окно UIWindow (доступное через Notification.object) подвид, который является экземпляром UIAlertView

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