NSProgressIndicator是OS X平臺上的活動指示器控件,開發者能夠設置圓環樣式和進度條樣式兩種。多線程
- (void)viewDidLoad { [super viewDidLoad]; NSProgressIndicator * progressIndicator = [[NSProgressIndicator alloc]initWithFrame:CGRectMake(30, 100, 200, 10)]; //設置是精準的進度條仍是模糊的指示器 progressIndicator.indeterminate = YES; //是否貝塞爾風格 progressIndicator.bezeled = YES; //設置控制器尺寸 progressIndicator.controlSize = NSControlSizeSmall; //設置當前進度 progressIndicator.doubleValue = 5; //設置風格 progressIndicator.style = NSProgressIndicatorBarStyle; //設置是否當動畫中止時隱藏 progressIndicator.displayedWhenStopped = YES; [self.view addSubview:progressIndicator]; }
效果如圖:動畫
NSProgressIndicator類中屬性方法解析以下:spa
//設置是不是模糊模式 牧戶模式下,不顯示具體的進度,經過動畫提示用戶正在加載 @property (getter=isIndeterminate) BOOL indeterminate; //設置是否貝塞爾風格 @property (getter=isBezeled) BOOL bezeled; //指示器的控制色 @property NSControlTint controlTint; //指示器的尺寸設置 /* typedef NS_ENUM(NSUInteger, NSControlSize) { NSControlSizeRegular,//標準 NSControlSizeSmall,//小 NSControlSizeMini,//迷你 }; */ @property NSControlSize controlSize; //設置當前進度值 @property double doubleValue; //設置進度值增量,即原始值夾着delta值 - (void)incrementBy:(double)delta; //進度條最小值 @property double minValue; //進度條最大值 @property double maxValue; //是否在多線程中執行動畫 @property BOOL usesThreadedAnimation; //開始動畫 - (void)startAnimation:(nullable id)sender; //結束動畫 - (void)stopAnimation:(nullable id)sender; //設置風格 /* typedef NS_ENUM(NSUInteger, NSProgressIndicatorStyle) { NSProgressIndicatorBarStyle = 0, //進度條風格 NSProgressIndicatorSpinningStyle = 1 //風火輪風格 }; */ @property NSProgressIndicatorStyle style; //設置動畫中止時進度條是否依然顯示 @property (getter=isDisplayedWhenStopped) BOOL displayedWhenStopped;