UIProgressView——进度条
广义的进度条,包括UIProgressView与UIActivityIndicatorView。
UIProgressView——用于显示某耗时操作完成的百分比;
UIActivityIndicatorView——显示一个旋转的齿轮,显示某个耗时操作正在执行中,但不限百分比。
UIProgressView
UIProgressView直接继承了 UIView——一般作为静态控件,不参与交互。
UIProgressView控制器面板属性:
1. style:2个选项: ①default:默认风格的状态条;② bar: 工具条风格的进度条。
2. progress:——设置进度条中任务的完成比例,属性值0.0—1.0之间的一个浮点值。
3. progress tint:——已经完成进度的颜色;
4. track tint:——进度条的轨道颜色。
5. progressImage:——进度条完成部分的图片;
6. trackImage:——进度条的轨道图片。
说明:如果属性5和6,结合”可拉伸”图片,可以对UIProgressView进行定制。
何谓”可拉伸”图片
很多时候,开发 ios 应用时需要图片作为控件的背景图片或者控件显示图片,但这个图片可能不能完全匹配。此时,ios 默认会对该图片进行整体缩放——从而使图片完全覆盖该控件区域。但,此时的问题是:这样做,必然会使得图片变形。
这个问题就可以用”可拉伸”图片进行解决:
我们可以通过 UIImage 来创建可拉伸图片——为了精确地控制只对指定区域进行缩放,当通过一个结构体 UIEdgeInsets(top,bottom,left,right) 定义图片的拉伸区域后,当程序把可拉伸图片放到 UI 控件上时,IOS 系统只对图片的指定区域进行缩放。
示意图:
上图中的中间区域为缩放主体区域——当程序需要使用该图片覆盖指定的 UI 控件时,将主要对中间区域进行拉伸或平铺。
示例:进度条对比效果
![]()
上图中,第一种进度条 style风格是default,第二种 style 是 bar。第三种是图片定制的。但不知道为何实现不了效果,网上查的是说 IOS7后实现的效果不好。欢迎朋友们反馈切磋。在这里我也试了增加UIProgressView高度的方式来显示图片,发现没什么卵用。增加UIProgressView高度的方法是:
示例代码:progressView.transform = CGAffineTransformMakeScale(1.0f,3.0f);
上面示例的关键代码:
#import "FKViewController.h"