2011-09-25 62 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