我在表格视图的底部创建了一个自定义的“加载更多”单元格。我正在尝试为活动指示器设置动画,同时表格中还有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 :(得分:0)
停止后尝试release
活动指示器,并在启动之前对其进行初始化:
moreCellIndicator = [UIActivityIndicatorView alloc] init];
而不是使用NSTimer
使用:
[self performSelector:@selector(loadMoreTimer:) withObject:self afterTimeDelay:2];
将您的方法更改为(id):sender
- (void)loadMoreTimer:(id)sender