Подтвердить что ты не робот

Как реагировать на applicationWillResignActive из любого места?

Какой код для подписки на событие, например applicationWillResignActive, в любом месте вашего приложения iphone?

[ОБНОВЛЕНИЕ]

Позвольте мне перефразировать мой вопрос. Я не хочу отвечать на это в своем делете приложения, но, скорее, слушаю это событие из другого класса. Возможно ли это, или мне нужно передать событие из делегата приложения в соответствующий класс?

4b9b3361

Ответ 1

Похоже, вы ищете этот код.

- (void) applicationWillResign {
    NSLog(@"About to lose focus");
}

- (void) myMethod { 
    [[NSNotificationCenter defaultCenter]
        addObserver:self
        selector:@selector(applicationWillResign)
        name:UIApplicationWillResignActiveNotification 
        object:NULL];
}

Ответ 2

Взгляните на документацию по методу, о котором вы говорите:

applicationWillResignActive:

Сообщает делегату, что приложение станет неактивным. Этот метод не является обязательным.

- (void)applicationWillResignActive:(UIApplication *)application

[...]

Обсуждение

[...]

Прежде чем он станет неактивным, приложение также опубликует UIApplicationWillResignActiveNotification.

Ответ 3

Внесите следующий метод в делегат приложения:

-(void)applicationWillResignActive:(UIApplication *)application

Это позволяет вам реагировать, когда приложение становится неактивным - если это так, он выполняет, но не отправляет входящие события. Это происходит, например, при всплывании окна оверлея или при блокировке устройства.

Перед тем, как он станет неактивным, приложение также опубликует идентификатор UIApplicationWillResignActiveNotification.

Ответ 4

Ваша тема и вопрос задают несколько разные вещи.

Ваше приложение автоматически получит applicationWillResignActive вместе с applicationWillTerminate. Не требуется подписка, просто выполните функцию в своем приложении.

Что касается ответа, это зависит от приложения. Хотя вы можете ничего не делать, рекомендуемое поведение заключается в том, что вы прекращаете или замедляете любую некритичную функциональность. Например. если бы вы играли, вы перестали бы обновлять дисплей и/или приостанавливать игру.