活动指示器仅动画一次

时间:2011-09-25 16:07:58

标签: objective-c uitableview uiactivityindicatorview

我在表格视图的底部创建了一个自定义的“加载更多”单元格。我正在尝试为活动指示器设置动画,同时表格中还有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;

1 个答案:

答案 0 :(得分:0)

停止后尝试release活动指示器,并在启动之前对其进行初始化:

moreCellIndicator = [UIActivityIndicatorView alloc] init];

而不是使用NSTimer使用:

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

将您的方法更改为(id):sender

- (void)loadMoreTimer:(id)sender