0

我正在使用 UINavigationController。当用户点击后退按钮时,如何在计时器上停止(调用 invalidate 方法)。

4

2 回答 2

2

我认为您可以使用viewWillDisappear方法间接检测何时按下后退并使您的计时器无效

于 2012-12-30T03:22:12.923 回答
0

//放置这个viewDidLoad并确保你有一个模仿后退按钮的back.png

UIImage *buttonImage = [UIImage imageNamed:@"back.png"];
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:buttonImage forState:UIControlStateNormal];
button.frame = CGRectMake(0, 0, buttonImage.size.width, buttonImage.size.height);
[button addTarget:self action:@selector(backPressed:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *customBarItem = [[UIBarButtonItem alloc] initWithCustomView:button];
self.navigationItem.leftBarButtonItem = customBarItem; 

- (void)backPressed:(id)sender {
     [yourTimer invalidate];
  }

如果计时器在另一个类中运行,则使用 NSNotificationCenter 在 backPressed 方法中发布通知

请参阅此处的 NSNotification 中心示例NSNotification 教程

于 2012-12-30T03:20:20.940 回答