Как узнать, когда пользователь нажимает аппаратную кнопку на устройстве iOS, прежде чем сделать снимок экрана?

В iOS, когда пользователь нажимает кнопку "hard", создается впечатление, что система делает снимок экрана с состоянием приложения (чтобы отобразить его во время следующего запуска приложения, чтобы сделать загрузку прозрачной для пользователя), а затем он вызывает applicationDidEnterBackground UIApplicationDelegate, чтобы указать приложениям, которые перешли в фоновое состояние. Это правильно?

Что мне нужно сделать, так это знать, что пользователь нажал на кнопку "жёстко" ДО того, как система сделает снимок экрана. На самом деле я хотел бы изменить свое представление в случае перехода в фоновое состояние, потому что я хочу скрыть некоторые вещи, когда приложение снова запустится в будущем.

Похоже, что applicationDidEnterBackground вызывается ПОСЛЕ снимка экрана. Есть ли способ позвонить до?

Спасибо

2 ответа

Решение

- (void)applicationWillResignActive:(UIApplication *)application может работать до того, как будет сделан снимок экрана. Называется раньше - (void)applicationDidEnterBackground:(UIApplication *)application, Если он не запустится до скриншота, я не думаю, что вы сможете изменить данные для повторного открытия скриншота без использования частных API.

Вы можете использовать UIApplicationWillResignActiveNotification уведомление.

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