iOS开发——UI篇Swift篇&UISlider

时间:2023-03-08 23:03:28
iOS开发——UI篇Swift篇&UISlider

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)
     }