iOS系列 基礎篇 09 開關、滑塊和分段控制項,ios基礎篇
iOS系列 基礎篇 09 開關、滑塊和分段控制項
目錄:
1. 案例說明
開關控制項(Switch)、滑塊控制項(Slider)和分段控制項(Segmented Control)都是UIControl的子類,本篇我們將通過一個案例和大家一起學習這三個控制項的使用。
如所示,本案例包括兩個開關控制項Switch、一個分段控制項(Segmented Control)、兩個標籤(Label)和一個滑塊控制項(Slider):
1 @IBAction func switchValueChanged(sender: AnyObject) { 2 let senderSwitch = sender as! UISwitch // 擷取當前點擊的控制項並強制轉型為Switch 3 4 let value = senderSwitch.on // 擷取當前點擊Switch後的狀態值 5 6 // 如果當前點擊的是LeftSwitch 7 if (senderSwitch == self.LeftSwitch){ 8 self.RightSwitch.setOn(!value, animated: true) // 設定右側Switch的狀態值 9 }else{ // 如果當前點擊的是RightSwitch10 self.LeftSwitch.setOn(!value, animated: true) // 設定左側Switch的狀態值11 }12 }
然後按住control,將右側的Switch也拖拽到上面這個方法上,這樣,兩個Switch的Action就綁定在一個方法上了:
1 @IBOutlet weak var SliderValue: UILabel!
右側的這個Label是用來顯示滑塊當前值的,這裡我們需要為滑塊實現一個Action動作:
1 @IBAction func sliderValueChanged(sender: AnyObject) {2 let slider = sender as! UISlider // 當前拖動的滑塊3 let value = Int(slider.value*100) // 擷取當前值(0.x)乘以100後的Int值4 let showText = NSString(format: "%d", value) // 將資料格式化5 self.SliderValue.text = showText as String // 顯示在Label上6 }
運行效果如下:
1 @IBAction func touchDown(sender: AnyObject) { 2 if (self.LeftSwitch.hidden){ // 如果當前開關控制項是顯示的 3 // 將兩個開關都隱藏 4 self.LeftSwitch.hidden = false 5 self.RightSwitch.hidden = false 6 }else{ // 如果當前開關控制項是隱藏的 7 // 將兩個開關都顯示 8 self.LeftSwitch.hidden = true 9 self.RightSwitch.hidden = true10 }11 }
效果如下: