iOS UIActivityIndicatorView用法(菊花旋轉)
阿新 • • 發佈:2019-02-13
使用iPhone經常會看見一朵菊花旋轉,那這個如何使用呢?我們來看看。
其實非常簡單,只需要簡單的控制元件UIActivityIndicatorView就可以了。
初始化方式- (instancetype)initWithActivityIndicatorStyle:(UIActivityIndicatorViewStyle)style
- (instancetype)initWithFrame:(CGRect)frame
其中的第一個初始化方法引數style是個列舉型別。typedef NS_ENUM(NSInteger, UIActivityIndicatorViewStyle) {
UIActivityIndicatorViewStyleWhiteLarge,
UIActivityIndicatorViewStyleWhite,
UIActivityIndicatorViewStyleGray,
};
它是用來設定菊花樣式的。對應的圖片如下:UIActivityIndicatorViewStyleWhiteLarge 大小是(37,37)
UIActivityIndicatorViewStyleWhite 大小是(22,22)
UIActivityIndicatorViewStyleGray 大小是(22,22)
背景顏色不屬於它們的樣式,只是我介面的顏色。
對外方法
- (void)startAnimating; //開啟動畫,也就是開始旋轉。
- (void)stopAnimating; //停止動畫,旋轉。
- (BOOL)isAnimating; //獲取狀態 ,0 NO 表示正在旋轉,1 YES 表示沒有旋轉。
屬性
@property(nonatomic) UIActivityIndicatorViewStyle activityIndicatorViewStyle; // 預設是UIActivityIndicatorViewStyleWhite @property(nonatomic) BOOL hidesWhenStopped; // default is YES. 設定動畫結束是否隱藏控制元件。 @property (nullable, readwrite, nonatomic, strong) UIColor *color
例子程式碼:
#import "ViewController.h"
@interface ViewController (){
UIActivityIndicatorView *_indicator;
}
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
_indicator = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
//設定顯示位置
_indicator.center = CGPointMake(100.0f, 125.0f);
//將這個控制元件加到父容器中。
[self.view addSubview:_indicator];
}
- (IBAction)startAnimation:(id)sender {
[_indicator startAnimating];
}
- (IBAction)stopAnimation:(id)sender {
[_indicator stopAnimating];
}
點選開啟控制元件顯示並旋轉。
點選關閉,控制元件停止旋轉並隱藏。
_indicator.hidesWhenStopped = NO;
剛進入這個介面會顯示控制元件。並且停止旋轉也會顯示,只是沒有在轉動而已。
設定背景顏色
//設定背景顏色
_indicator.backgroundColor = [UIColor blueColor]
blueColor redColor
設定控制元件顏色 即旋轉部分顏色
//設定菊花顏色。ios5 開始有這個屬性
_indicator.color = [UIColor greenColor];
greenColor blueColor另一個初始化方法
_indicator = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(100, 125, 50, 50)];
//設定背景顏色
_indicator.backgroundColor = [UIColor blueColor];
控制元件中菊花等大小是不變的。這個只是設定這個控制元件的大小。如圖: