在iOS開發中對應用程序進行設置時通常都用UISwitch,偶爾顯得單調,這時候你能夠選擇使用第三方開源類庫SSCheckBoxView 。 SSCheckBoxView是一個可用在iOS上一個複選框UI控件,提供選中和不被選中兩種狀況,和5中風格,以下圖git
GitHub下載地址:https://github.com/ardalahmet/SSCheckBoxViewgithub
通過封裝後的SSCheckBoxView使用起來也很簡單,首先初始化它的frame,設置一下顯示風格和是否被選中的狀態,而後再添加到view上即完成一個複選框的顯示ide
- (void)viewDidLoad { [super viewDidLoad]; SSCheckBoxView *cb = [[SSCheckBoxView alloc] initWithFrame:CGRectMake(50, 50, 30, 30) style:kSSCheckBoxViewStyleMono checked:YES]; [self.view addSubview:cb]; [cb release]; }
效果圖:spa
五種顯示風格,傳參的時候也可傳0-5之間數設置顯示風格.net
typedef enum SSCheckBoxViewStyle_ { kSSCheckBoxViewStyleBox = 0, kSSCheckBoxViewStyleDark, kSSCheckBoxViewStyleGlossy, kSSCheckBoxViewStyleGreen, kSSCheckBoxViewStyleMono, kSSCheckBoxViewStylesCount } SSCheckBoxViewStyle;
若是須要說明覆選框幹什麼用的,設置下text便可,可是須要對SSCheckBoxView對象的寬度進行適配,寬度過短會顯示不徹底;對複選框觀察提供兩種方式,一種是使用選擇的器,另外一種是使用Block;code
- (void)viewDidLoad { [super viewDidLoad]; SSCheckBoxView *cb = [[SSCheckBoxView alloc] initWithFrame:CGRectMake(50, 50, 300, 30) style:kSSCheckBoxViewStyleMono checked:YES]; [cb setText:@"這個是什麼呢"]; [cb setStateChangedTarget:self selector:@selector(checkBoxViewChangedState:)]; [self.view addSubview:cb]; [cb release]; SSCheckBoxView *cb2 = [[SSCheckBoxView alloc] initWithFrame:CGRectMake(50, 80, 300, 30) style:3 checked:YES]; [cb2 setText:@"使用Block觀察是否選中"]; [cb2 setStateChangedBlock:^(SSCheckBoxView *cbv) { NSLog(@"複選框狀態: %@",cbv.checked ? @"選中" : @"沒選中"); }]; [self.view addSubview:cb2]; [cb2 release]; } -(void)checkBoxViewChangedState:(SSCheckBoxView*)cbv { NSLog(@"複選框狀態: %@",cbv.checked ? @"選中" : @"沒選中"); }
效果圖:對象