Как мы узнаем, когда центр управления на iOS 7?

У меня возникла проблема, когда центр управления появляется на iOS 7. По сути, applicationDidEnterBackground запускается, когда появляется центр управления.

Однако в моем методе я хотел бы определить, является ли это просто открытием центра управления или центра уведомлений, поскольку в этом состоянии я бы по-разному относился к applicationDidEnterBackground.

Любая помощь будет оценена.

1 ответ

Я только что опубликовал небольшой подкласс UIWindow, который делает именно это. Вы просто подписываетесь на NSNotification и можете реагировать на пользователя, открывающего Центр управления. Подробные инструкции и настройки на Github: AAWindow.

Это достигается путем использования комбинации NSTimer и перезаписи sendEvent в UIWindow для получения всех касаний без их блокировки. Таким образом, вы в основном получаете все прикосновения и проверяете, находятся ли они у нижнего края экрана, если да, установите таймер на полсекунды и если во время этого таймера вызывается applicationWillResignActive, вы можете быть почти уверены, что Control Center открыт. Время должно меняться, если нет строки состояния, потому что приложение работает в полноэкранном режиме, и пользователю может потребоваться до 3 секунд, чтобы запустить Центр управления.

Другие вопросы по тегам