Я пытался прослушать изменения высоты строки состояния - например, когда строка состояния вызова отображается или скрыта, или то же самое с строкой состояния подключения к Интернету - прослушивая уведомление UIApplicationWillChangeStatusBarFrameNotification для отправлено.
Довольно простой код здесь ...
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(statusBarWillChangeFrame:)
name:UIApplicationWillChangeStatusBarFrameNotification
object:nil];
Но в этом случае кажется, что уведомление никогда не отправляется ни на имитаторе с помощью опции «Переключить строку состояния входящего вызова», ни на устройстве, когда вызов заканчивается с открытым приложением. Кроме того, подобный метод UIApplicationDelegate не вызывается.
Согласно документации,
UIApplicationWillChangeStatusBarFrameNotification
Добавлено, когда приложение о
изменить рамку строки состояния.
Словарь userInfo содержит
NSValue объект, который инкапсулирует
CGRect структура, выражающая
расположение и размер нового статуса
Барная рама. использование
UIApplicationStatusBarFrameUserInfoKey
чтобы получить доступ к этому значению.
Может кто-нибудь объяснить, почему это уведомление не отправляется в ответ на отображаемую или скрытую строку состояния вызова? Согласно документации, должно быть.