2.10 活动指示器控件——UIActivityIndicatorView

UIActivityIndicatorView控件通常被称为风火轮控件。在某些加载复杂数据的视图下载数据的场景中经常可以看到它的身影。UIActivityIndicatorView控件的主要作用是在加载等待的时间中给用户一些界面活动的提示,不至于出现使用户感觉到界面卡死的假象。

使用Xcode开发工具创建一个名为UIActivityIndicatorViewTest的工程,在ViewController类的viewDidLoad方法中添加如下代码:

Swift语言版本:

            override func viewDidLoad() {
                super.viewDidLoad()
                self.view.backgroundColor = UIColor.red
                let indicator = UIActivityIndicatorView(activityIndicatorStyle: .gray)
                indicator.center = CGPoint(x: self.view.frame.size.width/2, y: self.view.frame.size.height/2)
                indicator.color = UIColor.black
                self.view.addSubview(indicator)
                indicator.startAnimating()
            }

Objective-C语言版本:

        - (void)viewDidLoad {
            [super viewDidLoad];
            self.view.backgroundColor = [UIColor redColor];
            UIActivityIndicatorView * indicator = [[UIActivityIndicatorView
    alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
            indicator.center = CGPointMake(self.view.frame.size.width/2, self.view.frame.size.height/2);
            indicator.color = [UIColor blackColor];
            [self.view addSubview:indicator];
            [indicator startAnimating];
        }

initWithActivityIndicatorStyle方法通过一个风格枚举来对控件进行初始化,UIActivity-IndicatorViewStyle中枚举的值意义如下。

Swift语言版本:

        public enum UIActivityIndicatorViewStyle : Int {
            case whiteLarge     //大尺寸白色风格
            case white          //白色风格
            case gray           //灰色风格
        }

Objective-C语言版本:

        typedef NS_ENUM(NSInteger, UIActivityIndicatorViewStyle) {
            UIActivityIndicatorViewStyleWhiteLarge,         //大尺寸白色风格
            UIActivityIndicatorViewStyleWhite,             //白色风格
            UIActivityIndicatorViewStyleGray ,              //灰色风格
        };

其中,各个风格的效果如图2-33~图2-35所示。UIActivityIndicatorView的color属性可以设置活动指示器的颜色。

图2-33 UIActivityIndicator-ViewStyleWhiteLarge

图2-34 UIActivityIndicator-ViewStyleWhite

图2-35 UIActivityIndicator-ViewStyleGray

将活动指示器控件添加到视图上之后,需要调用startAnimating方法使指示器开始转动,与其对应,调用stopAnimating方法使指示器停止转动。