
UISlider
override func viewDidLoad() { super.viewDidLoad() titleLabel.text = titleString // Do any additional setup after loading the view. //创建 var slider:UISlider = UISlider(frame: CGRectMake(, , , )) //添加到视图上 self.view.addSubview(slider) //设置最小值 slider.minimumValue = //设置最大值 slider.maximumValue = //设置默认值 slider.value = //设置左端图片 slider.setMinimumTrackImage(UIImage(named: "minimumTrackImage"), forState: UIControlState.Normal) //设置又端图片 slider.setMaximumTrackImage(UIImage(named: "maximumTrackImage"), forState: UIControlState.Normal) //读取当滑块控件的值: var value = slider.value println(value) //添加通知,获取值改变 slider.addTarget(self, action: "sliderValueChange:", forControlEvents: UIControlEvents.ValueChanged) //continuous默认是true,设置成false后,只有停止拖动才会触发sliderValueChange:方法 slider.continuous = false //-----自定义滑块 //定义左右图片 var stetchLeftTrack:UIImage! = UIImage(named: "leftTrack.png") var stetchRightTrack:UIImage! = UIImage(named: "rightTrack.png") //定义滑块图片 var thumbImage:UIImage! = UIImage(named: "thumbImage.png") //创建UISlider对象 var newSlider:UISlider = UISlider(frame: CGRectMake(, , , )) newSlider.backgroundColor = UIColor.clearColor() newSlider.minimumValue = 0.5 newSlider.maximumValue = 1.5 newSlider.value = 1.0 //设置左右图片 newSlider.setMinimumTrackImage(stetchLeftTrack, forState: UIControlState.Normal) newSlider.setMaximumTrackImage(stetchRightTrack, forState: UIControlState.Normal) //设置拖动圆点的图片,注意这里要加UIControlState.Highlighted的状态,否则当拖动滑块时滑块将变成原生的控件 newSlider.setThumbImage(thumbImage, forState: UIControlState.Normal) newSlider.setThumbImage(thumbImage, forState: UIControlState.Highlighted) //添加通知,获取值改变 newSlider.addTarget(self, action: "newSliderValueChange:", forControlEvents: UIControlEvents.ValueChanged) //滑动拖动后的事件 newSlider.addTarget(self, action: "newSliderTouchUpInside:", forControlEvents: UIControlEvents.TouchUpInside) self.view.addSubview(newSlider) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } /* // MARK: - Navigation // In a storyboard-based application, you will often want to do a little preparation before navigation override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) { // Get the new view controller using segue.destinationViewController. // Pass the selected object to the new view controller. } */ //slider值改变触发的方法 func sliderValueChange(sender: AnyObject?) { // var newSlider:UISlider = sender as UISlider //2015年5月2后修改 var newSlider:UISlider = sender as! UISlider var value = newSlider.value println(value) } //自定义滑块使用 //拖动事件 func newSliderValueChange(sender: AnyObject?) { // var newSlider:UISlider = sender as UISlider //2015年5月2后修改 var newSlider:UISlider = sender as! UISlider println(newSlider.value) } //滑动拖动后的事件 func newSliderTouchUpInside(sender: AnyObject?) { // var newSlider:UISlider = sender as UISlider //2015年5月2后修改 var newSlider:UISlider = sender as! UISlider println(newSlider.value) }