2011-09-25 88 views
0

我已經創建了一個自定義「加載更多」單元格在我的表視圖的底部。我試圖在表中填充5行時設置活動指標的動畫。由於數據加載速度過快,因此我放置了2秒計時器來延遲進程並希望顯示指示器動畫。活動指標只動畫一次

我似乎能夠讓指示器動畫一次,然後它不再動畫,但其餘的代碼仍然執行並正常工作。

這裏是我的,當用戶選擇該小區的代碼...

[moreCellIndicator startAnimating];   

//setup activity indicator timer 
NSTimer *activityTimer = [NSTimer scheduledTimerWithTimeInterval: 2.0 
                 target: self 
                selector:@selector(loadMoreTimer:) 
                userInfo: nil repeats:NO]; 

這裏是計時器後觸發代碼...

- (void) loadMoreTimer:(NSTimer *)theTimer { 

    //stop animating activity indicator 
    [moreCellIndicator stopAnimating]; 

    //refresh table 
    ... data gets reloaded 

} 

首次將某種原因代碼運行該指標將動畫,但任何更多的按下,它不會動畫。

任何幫助,將不勝感激。

克里斯

編輯:moreCellIndicator聲明是這樣的...

UIActivityIndicatorView *moreCellIndicator;  
@property (nonatomic, retain) IBOutlet UIActivityIndicatorView *moreCellIndicator; 
+0

我檢查你的代碼和它的作品完美,是不重新初始化,只是實現[微調startAnimating]和[spinner stopAnimating]; –

回答

0

嘗試release活動指示燈停止後,你開始之前,初始化:

moreCellIndicator = [UIActivityIndicatorView alloc] init]; 

而不是使用NSTimer用途:

[self performSelector:@selector(loadMoreTimer:) withObject:self afterTimeDelay:2]; 

,改變你的方法(id):sender

- (void)loadMoreTimer:(id)sender 
+0

當我初始化它之前,我告訴它動畫它只是完全消失。不知道怎麼回事? – ChrisM