Как узнать, когда пользователь нажимает аппаратную кнопку на устройстве iOS, прежде чем сделать снимок экрана?
В iOS, когда пользователь нажимает кнопку "hard", создается впечатление, что система делает снимок экрана с состоянием приложения (чтобы отобразить его во время следующего запуска приложения, чтобы сделать загрузку прозрачной для пользователя), а затем он вызывает applicationDidEnterBackground UIApplicationDelegate, чтобы указать приложениям, которые перешли в фоновое состояние. Это правильно?
Что мне нужно сделать, так это знать, что пользователь нажал на кнопку "жёстко" ДО того, как система сделает снимок экрана. На самом деле я хотел бы изменить свое представление в случае перехода в фоновое состояние, потому что я хочу скрыть некоторые вещи, когда приложение снова запустится в будущем.
Похоже, что applicationDidEnterBackground вызывается ПОСЛЕ снимка экрана. Есть ли способ позвонить до?
Спасибо
2 ответа
- (void)applicationWillResignActive:(UIApplication *)application
может работать до того, как будет сделан снимок экрана. Называется раньше - (void)applicationDidEnterBackground:(UIApplication *)application
, Если он не запустится до скриншота, я не думаю, что вы сможете изменить данные для повторного открытия скриншота без использования частных API.
Вы можете использовать UIApplicationWillResignActiveNotification
уведомление.