Ios UIActivityIndicator只要能够实现功能

Ios UIActivityIndicator只要能够实现功能,ios,objective-c,uiactivityindicatorview,Ios,Objective C,Uiactivityindicatorview,我想在函数上使用UIActivityIndicator 我正在实现一些核心过滤器,其中一些几乎需要一秒钟才能实现。我希望UIActivityIndicator根据功能启动和停止 我在网上查了一下,但主要是用定时器。因此,这将使它成为硬接线,而不是基于实现该功能实际需要多长时间 有人能告诉我一个小例子吗?一旦方法执行完毕,所有UI动画和导航都将执行。所以,如果您想要这样的功能,可以使用计时器或调度队列 如下 UIActivityIndicatorView *activity = [[UIActiv

我想在函数上使用UIActivityIndicator

我正在实现一些核心过滤器,其中一些几乎需要一秒钟才能实现。我希望UIActivityIndicator根据功能启动和停止

我在网上查了一下,但主要是用定时器。因此,这将使它成为硬接线,而不是基于实现该功能实际需要多长时间


有人能告诉我一个小例子吗?

一旦方法执行完毕,所有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];
    });

在该方法中,在执行当前方法后,执行保持在队列中,将执行方法写入的调度时间。

Declare ActivityIndicator

@property (nonatomic, strong) UIActivityIndicatorView *activityIndicatorView;
[self.activityIndicatorView startAnimating];  //start
[self.activityIndicatorView stopAnimating];   //stop
那么

使用此代码可以启动和停止activityIndicator

@property (nonatomic, strong) UIActivityIndicatorView *activityIndicatorView;
[self.activityIndicatorView startAnimating];  //start
[self.activityIndicatorView stopAnimating];   //stop
这行不通。如果“要执行的方法”在主线程上完成,则“活动”视图将永远不会开始设置动画。如果这些方法是在后台完成的,那么在这些方法完成之前很久就会调用停止动画。