一、简介
<<当一个邮件应用程序下载消息时它的进度条会在应用程序的底部显示。UIProgressView类提供了管理风格的进度条,用于获取和设置值是固定的任务的进度的属性
<<UIProgressView控件用来显示进度条描述某个任务的进度
<<继承关系:UIProgressView --> UIView -->UIResponder-->NSObject
格式为
1--> 设置progressViewStyle(属性的作用)
typedef NS_ENUM(NSInteger, UIProgressViewStyle) {
UIProgressViewStyleDefault, // normal progress bar
UIProgressViewStyleBar __TVOS_PROHIBITED, // for use in a toolbar
};(如果属性有枚举类型的话,这里会有枚举类型说明)
progressView.progressViewStyle=UIProgressViewStyleDefault; (这是具体的例子)
@property(nonatomic) UIProgressViewStyle progressViewStyle; // 设置进度条的风格特征, 默认是UIProgressViewStyleDefault (这是属性的说明)
二、UIProgressView的属性方法(属性的顺序与苹果API一致)
1-->初始化UIProgressView并返回一个新的视图对象,根据指定的CGRect
UIProgressView * progressView =[[UIProgressView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];//设置的高度对进度条的高度没影响,整个高度=进度条的高度,进度条也是个圆角矩形
- (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
2-->用IB初始UIProgressView
- (nullable instancetype)initWithCoder:(NSCoder *)aDecoder NS_DESIGNATED_INITIALIZER;
3-->初始化进度条
UIProgressView * progressView = [[UIProgressView alloc] initWithProgressViewStyle:UIProgressViewStyleDefault]; //实例化一个进度条,有两种样式,一种是UIProgressViewStyleBar一种是UIProgressViewStyleDefault,几乎无区别
- (instancetype)initWithProgressViewStyle:(UIProgressViewStyle)style; //会根据样式设置视图高度。
三、UIProgressView的属性
1-->设置UIProgressView的样式
typedef NS_ENUM(NSInteger, UIProgressViewStyle) {
UIProgressViewStyleDefault, // 普通样式
UIProgressViewStyleBar __TVOS_PROHIBITED, // 用于工具条的样式
};
_progressView.progressViewStyle=UIProgressViewStyleDefault;设置UIProgressView的样式为UIProgressViewStyleDefault
@property(nonatomic) UIProgressViewStyle progressViewStyle; // 默认是 UIProgressViewStyleDefault
2-->设置进度条进度
_progressView.progress=0.3;//设置进度条的进度值 ,范围从0~1,最小值为0,最大值为1. 0.8-->进度的80%
@property(nonatomic) float progress;//设置进度条进度(0.0-1.0之间,默认为0.0)
3--> 设置已走过进度的进度条颜色
myProgressView.progressTintColor = [UIColor orangeColor]; // 已走过的颜色
@property(nonatomic, strong, nullable) UIColor* progressTintColor NS_AVAILABLE_IOS(5_0) UI_APPEARANCE_SELECTOR;
4--> 设置未走过进度的进度条颜色
_myProgressView.trackTintColor = [UIColor whiteColor]; // 为走过的颜色
@property(nonatomic, strong, nullable) UIColor* trackTintColor NS_AVAILABLE_IOS(5_0) UI_APPEARANCE_SELECTOR;
5-->设置进度条已走过进度的背景图案
progressView.progressImage = image2; //设置进度图片
@property(nonatomic, strong, nullable) UIImage* progressImage NS_AVAILABLE_IOS(5_0) UI_APPEARANCE_SELECTOR;
6-->设置未走过进度的背景图案
progressView.trackImage = image2; //设置进度图片
@property(nonatomic, strong, nullable) UIImage* trackImage NS_AVAILABLE_IOS(5_0) UI_APPEARANCE_SELECTOR;
7--> 设置进度条进度和是否动画显示(动画显示会平滑过渡)
[progressView setProgress:0.5 animated:YES];
- (void)setProgress:(float)progress animated:(BOOL)animated NS_AVAILABLE_IOS(5_0);
8--> 设置进度
NSProgress *progress = urlsession.progress;
self.progressView.observedProgress = progress;
@property(nonatomic, strong, nullable) NSProgress *observedProgress NS_AVAILABLE_IOS(9_0);
参考: