我想在函数上使用UIActivityIndicator。
我正在实施一些核心过滤器,其中一些需要几秒钟才能实现。我希望UIActivityIndicator根据功能启动和停止。
我在网上查了一下,但它主要是使用计时器。因此,这将使其硬连线,而不是基于实现该功能实际需要多长时间。
有人能告诉我一个小例子我该怎么做吗?
答案 0 :(得分:1)
声明ActivityIndicator
@property (nonatomic, strong) UIActivityIndicatorView *activityIndicatorView;
然后,
- (void)viewDidLoad
{
[super viewDidLoad];
self.view.backgroundColor = [UIColor blackColor];
// Do any additional setup after loading the view, typically from a nib.
CGRect frame = CGRectMake (120.0, 185.0, 80, 80);
self.activityIndicatorView = [[UIActivityIndicatorView alloc] initWithFrame:frame];
[self.view addSubview:self.activityIndicatorView];
}
使用此代码,您可以启动和停止activityIndicator
[self.activityIndicatorView startAnimating]; //start
[self.activityIndicatorView stopAnimating]; //stop
答案 1 :(得分:0)
方法执行结束后,将执行所有UI动画和导航。因此,如果您希望此类功能用于计时器或调度队列。
如下
UIActivityIndicatorView *activity = [[UIActivityIndicatorView alloc] initWithFrame:self.window.frame];
[activity startAnimating];
//Your methods to be executed
double delayInSeconds = 0.01;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
[activity stopAnimating];
});
在此方法执行当前方法执行后保存在队列中,将执行写入dispatch_time_t的方法。