-3

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

因此,如果有人知道,请告诉我在从一个选项卡移动到另一个选项卡时需要调用哪种方法。

4

3 回答 3

1

最简单的答案是

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

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

于 2012-10-16T07:51:47.177 回答
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;
     }


 }
于 2012-10-16T06:21:25.357 回答
0

检查标签栏索引并编写如下代码:

[yourtimername invalidate];
于 2012-10-16T06:38:40.933 回答