軟件開發的時候常常會遇到半天才加載出來數據的狀況,無論是程序寫的爛,仍是說原本網速比較慢,通常都都會給個提示讓用戶感受到咱們在努力的加載數據,iOS能夠經過UIActivityIndicatorView實現相似的效果。UIActivityIndicatorView 提供輕型視圖,會顯示一個標準的旋轉進度輪,只要添加到程序中,在合適的地方start和stop便可。start的時候能夠吸附在當前視圖中,stop的時候就會移除~ide
簡答的效果:學習
實現方式以下:動畫
self.activityIndicatorView=[[UIActivityIndicatorView alloc]initWithFrame:CGRectMake(0, 0, 100, 100)]; self.activityIndicatorView.center=self.view.center; [self.activityIndicatorView setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleGray]; [self.activityIndicatorView setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleWhiteLarge]; [self.activityIndicatorView setBackgroundColor:[UIColor lightGrayColor]]; [self.view addSubview:self.activityIndicatorView]; [self.activityIndicatorView startAnimating];
代碼很簡單,設置frame這個不用講,關於style的設置,有三種白色和灰色,這兩種的尺寸都是20*20,白色大圖是37*37:atom
typedef NS_ENUM(NSInteger, UIActivityIndicatorViewStyle) { UIActivityIndicatorViewStyleWhiteLarge, UIActivityIndicatorViewStyleWhite, UIActivityIndicatorViewStyleGray, };
關閉動畫:spa
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5* NSEC_PER_SEC)), dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),^{ [self.activityIndicatorView stopAnimating]; });
對於UIActivityIndicatorView的使用,咱們通常會建立一個背景View,設置必定的透明度,而後將UIActivityIndicatorView貼在背景View上,在咱們須要的時候將這個view呼出。code
初始化UIActivityIndicatorViewblog
- (instancetype)initWithActivityIndicatorStyle:(UIActivityIndicatorViewStyle)style;開發
這個風格是一個枚舉,以下get
typedef NS_ENUM(NSInteger, UIActivityIndicatorViewStyle) { //大號白色 UIActivityIndicatorViewStyleWhiteLarge, //白色 UIActivityIndicatorViewStyleWhite, //灰色 UIActivityIndicatorViewStyleGray, };
初始化以後,還須要給它一個Frame,可是隻有前兩個位置參數有效,大小參數將沒有任何影響。
it
設置指示器風格:
@property(nonatomic) UIActivityIndicatorViewStyle activityIndicatorViewStyle;
設置指示器是否中止動畫時隱藏
@property(nonatomic) BOOL hidesWhenStopped;
設置指示器顏色
@property (readwrite, nonatomic, retain) UIColor *color;
讓指示器開始動畫
- (void)startAnimating;
讓指示器中止動畫
- (void)stopAnimating;
獲取指示器動畫狀態
- (BOOL)isAnimating;
學習使用 歡迎轉載