3

当用户按下锁定按钮时,是否有可用的视图控制器方法被调用?我正在寻找类似viewDidDisappear:or的东西viewWillDisappear:,但特定于按下锁定按钮的情况。

4

2 回答 2

2

UIApplicationDidEnterBackgroundNotification当用户锁定他们的手机时,会发布一条通知。以下是如何收听它:

viewDidLoad:您的 ViewController 中:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(screenLocked) name:UIApplicationDidEnterBackgroundNotification object:nil];

然后,定义一个方法(screenLocked上面调用了我的方法)并编写要在屏幕锁定时执行的代码。

-(void)screenLocked{
    //do stuff
}

此外,要进行一些必要的清理,请将此方法也添加到您的 ViewController 中。

-(void)dealloc{
    [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationDidEnterBackgroundNotification object:nil];
}
于 2013-08-14T21:32:01.120 回答
1

尝试这个 :

- (void)applicationDidEnterBackground:(UIApplication *)application
{
  UIApplicationState state = [application applicationState];
  if (state == UIApplicationStateInactive) {
      NSLog(@"Sent to background by locking screen");
  } else if (state == UIApplicationStateBackground) {
      NSLog(@"Sent to background by home button/switching to other app");
  } 
}
于 2013-08-14T21:35:58.167 回答