2012-10-16 47 views
-3

當我在計時器中從一個標籤移動到另一個標籤時繼續運行。 但我想停止那個計時器。如何在更改標籤欄中的選項卡時使計時器無效

因此,如果有人知道,那麼請告訴我,當我從一個標籤移動到另一個標籤時,我需要調用哪種方法。

+1

http://developer.apple.com/library/ios/#documentation/uikit/reference/UITabBarControllerDelegate_Protocol/Reference/Reference.html – 2012-10-16 06:14:08

+0

感謝您的幫助,但我沒有得到解決方案。 – Dilip

+2

請參閱。我指出你儘可能在最接近蘋果宏偉文檔的位置。如果你不知道該怎麼做,那麼你可能應該嘗試開發更多的算法思想,從文檔中提取有用/相關信息的能力以及一些常識。這與設置「UITabBarController」的委託並實現' - tabBarController:didSelectViewController:'方法一樣簡單。 – 2012-10-16 06:20:05

回答

0

你可以停止這樣的計時處理,

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

編輯 你可以把當你推的另一種方法例如,這方法:如果您在使用定時器的TableView的刷新數據,每6秒,隨後你可以通過選擇然後按特定的行你可以把這兩行代碼在

- (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; 
    } 


} 
+0

感謝您的幫助,但從標籤中移動,我必須寫這個代碼。 – Dilip

+1

@Dilip,檢查更新的答案。你可以在當前視圖的viewWillDisapper方法中寫入。 – Hemang

+0

但當我移動到另一個選項卡時,不會調用當前視圖的viewWillDisapper方法。 – Dilip

0

檢查標籤欄指數,寫這在下文中給出的代碼:

[yourtimername invalidate]; 
+0

請指定如何檢查標籤欄索引? – Dilip

1

簡單的答案是

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

當你點擊標籤時,這個函數將被調用,並且所有寫在這個函數中的wi將被執行

相關問題