swift - UISlider 的用法

swift的UISlider的用法和oc基本没有区别

1、创建

class SecondViewController: UIViewController {
        
    var slider = UISlider()//初始化

2、左边和初始化值的设置

 slider.frame = CGRect(x:10, y:240, width:self.view.bounds.size.width - 20, height:150)
        
 slider.minimumValue = 0 //最小值
 slider.maximumValue = 1 //最大值
 slider.value = 0.5 //默认值
 self.view.addSubview(slider)

3,设置滑块的值,同时有动画

slider.setValue(0.8,animated:true)

4,滑块值改变响应

slider.isContinuous = false//滑块滑动停止后才触发ValueChanged事件
        
slider.addTarget(self, action: #selector(sliderChanged(seliderValue:)), for: .valueChanged)

对应方法的实现

func sliderDidchange(seliderValue:UISlider) {
        
        print(slider.value)
        
    }

5,滑块左右两边槽的颜色

slider.minimumTrackTintColor=UIColor.red  //左边槽的颜色
slider.maximumTrackTintColor=UIColor.green //右边槽的颜色

6,滑块后面槽线两侧添加图标

slider.minimumValueImage=UIImage(named:"11.jpg")  //左边图标
slider.maximumValueImage=UIImage(named:"hgl.jpeg")  //右边图标

7,自定义滑块组件图片(注:图片得标准)

//设置滑块右边部分的图片
        slider.setMaximumTrackImage(UIImage(named: "11.jpg"), forState: .normal)
        //滑块左边部分的图片
        slider.setMinimumTrackImage(UIImage(named: "hgl.jpeg"), forState: .normal)
        
        //设置滑块的图片
        slider.setThumbImage(UIImage(named: "hgl.jpeg"), forState: UIControlState.normal)
//设置滑块右边部分的图片-使用三宫格缩放(左右14像素不变,中间缩放)
        let imgTrackRight = UIImage(named: "hgl.jpeg")
        let imgRight = imgTrackRight?.stretchableImage(withLeftCapWidth: 0, topCapHeight: 10)
        slider.setMaximumTrackImage(imgRight, forState: .normal)