開發中設置界面通常會用到的開關控件。好比飛行模式開關,wifi開關。 動畫
UISwitch繼承於UIControl,有addTarget方法增長其事件。代碼建立: spa
UISwitch *mySwitch = [[UISwitch alloc] initWithFrame:CGRectMake(10, 100, 300, 50)]; // mySwitch.backgroundColor = [UIColor orangeColor];//背景顏色,通常不用,很差看。 [self.view addSubview:mySwitch];
一、onTintColor設置開啓顏色; code
二、onImage設置開啓圖片; 對象
三、tintColor設置正常關閉顏色; 繼承
四、offImage設置關閉圖片; 事件
五、thumbTintColor設置圓形按鈕顏色; 圖片
代碼以下: 開發
//設置開啓顏色 圖片 mySwitch.onTintColor = [UIColor yellowColor]; mySwitch.onImage = [UIImage imageNamed:@""]; //設置關閉顏色 圖片 mySwitch.tintColor = [UIColor redColor];//設置正常關閉顏色 mySwitch.offImage = [UIImage imageNamed:@""]; //設置圓形按鈕顏色 mySwitch.thumbTintColor = [UIColor purpleColor];
//代碼設置開啓、關閉狀態 設置YES或者NO,是否使用動畫效果 [mySwitch setOn:YES animated:YES]; //獲取UISwitch的開啓/關閉狀態 獲取對象的isOn屬性,默認是關閉狀態 若是isOn==YES則是開啓狀態,若是isOn==NO則是關閉狀態。 if (mySwitch.isOn) { NSLog(@"開啓狀態"); } else { NSLog(@"關閉狀態"); }
[mySwitch addTarget:self action:@selector(switchAction:) forControlEvents:UIControlEventValueChanged]; -(void)switchAction:(id)sender { UISwitch *switchButton = (UISwitch*)sender; BOOL isButtonOn = [switchButton isOn]; if (isButtonOn) { // 開啓狀態的處理 }else { //關閉狀態的處理 } }