活动指示器UIActivityIndicatorView

简介: 活动指示器UIActivityIndicatorView

UIActivityIndicatorView活动指示器控件还有一个更加形象的俗名——风火轮。活动指示器是iOS系统中自带动画的原生视图控件,其作用是提示用户某项任务正在进行中。举个常用的例子,网络类应用软件都需要联网来获取数据,在网络条件较差的情况下,网络数据的请求往往需要一定时间,为了告知用户当前请求正在进行,防止用户误操作而将应用程序关闭,通常会使用活动指示器来指示用户。UIActivityIndicatorView控件在UI展现上为一个不断旋转的“风火轮”,iOS13之后系统提供了2种样式给开发者选择使用。


使用Xcode开发工具创建一个命名为UIActivityIndicatorViewTest的测试工程,在ViewController.swift文件的viewDidLoad()方法中添加如下代码:


//设置当前界面的背景色
self.view.backgroundColor = UIColor.red
let activity = UIActivityIndicatorView(style: UIActivityIndicatorView.Style.medium)
activity.center = self.view.center
//开始播放
activity.startAnimating()
//添加到当前视图
self.view.addSubview(activity)


活动指示器控件有白色风格,为了便于观察效果,将页面的背景颜色设置为红色。UIActivityIndicatorView控件有其自己的UI尺寸,开发者只需要设置其位置即可。


UIActivityIndicatorView(style:)构造方法需要传入一个UIActivityIndicatorView.Style枚举类型的风格参数,可选枚举值如下:


public enum Style : Int {
    case medium = 100
    case large = 101
}


2466108-8846ec946c99e60c.webp.jpg


运行工程,各种风格的UIActivityIndicatorView控件效果如图14-3~图14-5所示。


2466108-9d7397d5510ffcc0.webp.jpg


medium风格


2466108-e020e39a897a73de.webp.jpg


large风格

UIActivityIndicatorView类中的startAnimating()stopAnimating()方法分别表示开始指示器动画和停止指示器动画。需要注意,当调用stopAnimating()方法后,活动指示器控件会自动隐藏,这个功能是由UIActivityIndicatorView的hidesWhenStopped属性控制的。hidesWhenStopped属性需要设置为一个Bool类型的值,默认为true,当活动指示器动画停止时,活动指示器本身也将隐藏;如果设置为false,动画停止后,活动指示器则不会隐藏。


一般开发场景中,系统提供的活动指示器风格已经可以满足需求。当然UIActivityIndicatorView类中也提供了自定义活动指示器颜色的接口,示例如下:


//设置活动指示器颜色
activity.color = UIColor.green


摘自《Swift4从零到精通iOS开发》

目录
相关文章
|
7月前
|
XML Java API
23. 【Android教程】轮播滚动视图:ViewFlipper
23. 【Android教程】轮播滚动视图:ViewFlipper
200 2
三种方法设置UITextField的占位文字颜色
三种方法设置UITextField的占位文字颜色
270 0
|
XML Java 开发工具
关于RecycleView的overScrollMode属性的一点探索
这个属性本身没有特别重要的功能,只是针对滑动做的一个动效,算是锦上添花的一个东西吧。 这个属性是在Sdk 21之后添加的,故在21之前的版本上无法显示。
1282 0