当我从一个选项卡移动到另一个选项卡时,计时器继续运行。但我想停止那个计时器。
因此,如果有人知道,请告诉我在从一个选项卡移动到另一个选项卡时需要调用哪种方法。
最简单的答案是
-(void)viewWillDisappear:(BOOL)animated {
//here
}
当您单击选项卡时,将调用此函数并执行此函数中编写的所有内容
您可以像这样停止计时器过程,
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;
}
}
检查标签栏索引并编写如下代码:
[yourtimername invalidate];