Как мы узнаем, когда центр управления на iOS 7?
У меня возникла проблема, когда центр управления появляется на iOS 7. По сути, applicationDidEnterBackground запускается, когда появляется центр управления.
Однако в моем методе я хотел бы определить, является ли это просто открытием центра управления или центра уведомлений, поскольку в этом состоянии я бы по-разному относился к applicationDidEnterBackground.
Любая помощь будет оценена.
1 ответ
Я только что опубликовал небольшой подкласс UIWindow, который делает именно это. Вы просто подписываетесь на NSNotification и можете реагировать на пользователя, открывающего Центр управления. Подробные инструкции и настройки на Github: AAWindow.
Это достигается путем использования комбинации NSTimer и перезаписи sendEvent в UIWindow для получения всех касаний без их блокировки. Таким образом, вы в основном получаете все прикосновения и проверяете, находятся ли они у нижнего края экрана, если да, установите таймер на полсекунды и если во время этого таймера вызывается applicationWillResignActive, вы можете быть почти уверены, что Control Center открыт. Время должно меняться, если нет строки состояния, потому что приложение работает в полноэкранном режиме, и пользователю может потребоваться до 3 секунд, чтобы запустить Центр управления.