How to react to applicationWillResignActive from anywhere?

前端 未结 4 838
無奈伤痛
無奈伤痛 2020-12-09 01:31

What\'s the code to subscribe to an event like applicationWillResignActive in any place in your iphone application?

[UPDATE]

Let me rephrase my question. I

相关标签:
4条回答
  • 2020-12-09 02:14

    Implement the method below in your application delegate:

    -(void)applicationWillResignActive:(UIApplication *)application
    

    This allows you to react when the application becomes inactive - when this is the case, it is executing but not dispatching incoming events. This happens, for example, when an overlay window pops up or when the device is locked.

    Just before it becomes inactive, the application also posts a UIApplicationWillResignActiveNotification.

    0 讨论(0)
  • 2020-12-09 02:18

    Take a look at the documentation for the method you're talking about:

    applicationWillResignActive:

    Tells the delegate that the application will become inactive. This method is optional.

    - (void)applicationWillResignActive:(UIApplication *)application
    

    [...]

    Discussion

    [...]

    Just before it becomes inactive, the application also posts a UIApplicationWillResignActiveNotification.

    0 讨论(0)
  • 2020-12-09 02:24

    Your topic and question are asking slightly different things.

    Your application will receive applicationWillResignActive, along with applicationWillTerminate, automatically. No subscription is necessary, just implement the function in your app.

    As to how to respond, this is down to the application. While you can choose to do nothing the recommended behavior is that you cease or slow any non-critical functionality. E.g. if you were a game you would stop updating the display and/or pause the game.

    0 讨论(0)
  • 2020-12-09 02:36

    Looks like you are looking for this code.

    - (void) applicationWillResign {
        NSLog(@"About to lose focus");
    }
    
    - (void) myMethod { 
        [[NSNotificationCenter defaultCenter]
            addObserver:self
            selector:@selector(applicationWillResign)
            name:UIApplicationWillResignActiveNotification 
            object:NULL];
    }
    
    0 讨论(0)
提交回复
热议问题