標籤:
UISlider
1 2 override func viewDidLoad() { 3 super.viewDidLoad() 4 5 titleLabel.text = titleString 6 7 8 // Do any additional setup after loading the view. 9 10 11 12 13 //建立 14 var slider:UISlider = UISlider(frame: CGRectMake(20, 100, 200, 60)) 15 16 //添加到視圖上 17 self.view.addSubview(slider) 18 19 //設定最小值 20 slider.minimumValue = 10 21 22 //設定最大值 23 slider.maximumValue = 80 24 25 //設定預設值 26 slider.value = 30 27 28 //設定左端圖片 29 slider.setMinimumTrackImage(UIImage(named: "minimumTrackImage"), forState: UIControlState.Normal) 30 31 //設定又端圖片 32 slider.setMaximumTrackImage(UIImage(named: "maximumTrackImage"), forState: UIControlState.Normal) 33 34 35 36 //讀取當滑塊控制項的值: 37 var value = slider.value 38 println(value) 39 40 41 //添加通知,擷取值改變 42 slider.addTarget(self, action: "sliderValueChange:", forControlEvents: UIControlEvents.ValueChanged) 43 44 //continuous預設是true,設定成false後,只有停止拖動才會觸發sliderValueChange:方法 45 slider.continuous = false 46 47 48 49 //-----自訂滑塊 50 51 //定義左右圖片 52 var stetchLeftTrack:UIImage! = UIImage(named: "leftTrack.png") 53 var stetchRightTrack:UIImage! = UIImage(named: "rightTrack.png") 54 55 //定義滑塊圖片 56 var thumbImage:UIImage! = UIImage(named: "thumbImage.png") 57 58 //建立UISlider對象 59 var newSlider:UISlider = UISlider(frame: CGRectMake(30, 300, 257, 8)) 60 newSlider.backgroundColor = UIColor.clearColor() 61 newSlider.minimumValue = 0.5 62 newSlider.maximumValue = 1.5 63 newSlider.value = 1.0 64 65 //設定左右圖片 66 newSlider.setMinimumTrackImage(stetchLeftTrack, forState: UIControlState.Normal) 67 newSlider.setMaximumTrackImage(stetchRightTrack, forState: UIControlState.Normal) 68 69 //設定拖動圓點的圖片,注意這裡要加UIControlState.Highlighted的狀態,否則當拖動滑塊時滑塊將變成原生的控制項 70 newSlider.setThumbImage(thumbImage, forState: UIControlState.Normal) 71 newSlider.setThumbImage(thumbImage, forState: UIControlState.Highlighted) 72 73 //添加通知,擷取值改變 74 newSlider.addTarget(self, action: "newSliderValueChange:", forControlEvents: UIControlEvents.ValueChanged) 75 76 77 //滑動拖動後的事件 78 newSlider.addTarget(self, action: "newSliderTouchUpInside:", forControlEvents: UIControlEvents.TouchUpInside) 79 80 self.view.addSubview(newSlider) 81 } 82 83 override func didReceiveMemoryWarning() { 84 super.didReceiveMemoryWarning() 85 // Dispose of any resources that can be recreated. 86 } 87 88 89 /* 90 // MARK: - Navigation 91 92 // In a storyboard-based application, you will often want to do a little preparation before navigation 93 override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) { 94 // Get the new view controller using segue.destinationViewController. 95 // Pass the selected object to the new view controller. 96 } 97 */ 98 99 100 //slider值改變觸發的方法101 func sliderValueChange(sender: AnyObject?)102 {103 // var newSlider:UISlider = sender as UISlider104 105 //2015年5月2後修改106 var newSlider:UISlider = sender as! UISlider107 var value = newSlider.value108 println(value)109 }110 111 112 //自訂滑塊使用113 114 //拖動事件115 func newSliderValueChange(sender: AnyObject?)116 {117 // var newSlider:UISlider = sender as UISlider118 119 //2015年5月2後修改120 var newSlider:UISlider = sender as! UISlider121 println(newSlider.value)122 }123 124 //滑動拖動後的事件125 func newSliderTouchUpInside(sender: AnyObject?)126 {127 // var newSlider:UISlider = sender as UISlider128 129 //2015年5月2後修改130 var newSlider:UISlider = sender as! UISlider131 println(newSlider.value)132 }133
iOS開發——UI篇Swift篇&UISlider