如何在标签栏中更改选项卡时使计时器无效

时间:2012-10-16 06:12:01

标签: iphone ios

当我从一个标签移动到另一个标签时,计时器继续运行。 但我想停止那个计时器。

所以如果有人知道那么请告诉我在从一个标签移动到另一个标签时需要调用哪种方法。

3 个答案:

答案 0 :(得分:1)

最简单的答案是

-(void)viewWillDisappear:(BOOL)animated {
    //here
}

当您点击选项卡时,将调用此函数并执行此函数中写入的所有内容

答案 1 :(得分:0)

你可以像这样停止计时器处理,

if(self.TimeOfActiveUser) 
{
    [self.TimeOfActiveUser invalidate];
    self.TimeOfActiveUser = nil;
}

修改 你可以在推送另一个方法时使用此方法例如:如果你每隔6秒钟使用Timer重新加载TableView数据,那么你可以通过选择推送特定行,然后你可以将这两行代码放在

 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
 {

[self.TimeOfActiveUser invalidate];
self.TimeOfActiveUser = nil;


    objScore = [[CntrScore alloc]initWithNibName:@"CntrScore" bundle:nil];
[self.navigationController pushViewController:objScore animated:YES];

  }

如果您的应用标签基于您将计时器停止代码放在viewWillDisappear

 -(void)viewWillDisappear:(BOOL)animated
 {
     if(self.TimeOfActiveUser) 
     {
     [self.TimeOfActiveUser invalidate];
     self.TimeOfActiveUser = nil;
     }


 }

答案 2 :(得分:0)

检查标签栏索引并编写下面给出的代码:

[yourtimername invalidate];