当前位置: > > > Swift - 滑块(UISlider)的用法

Swift - 滑块(UISlider)的用法

1,滑块的创建
let slider=UISlider(frame:CGRectMake(0,0,300,50))
slider.center=self.view.center
slider.minimumValue=0  //最小值
slider.maximumValue=1  //最大值
slider.value=0.5  //当前默认值
self.view.addSubview(slider)

2,设置滑块的值,同时有动画
slider.setValue(0.8,animated:true)

3,滑块值改变响应
slider.continuous=false  //滑块滑动停止后才触发ValueChanged事件
slider.addTarget(self,action:"sliderDidchange:", forControlEvents:UIControlEvents.ValueChanged)

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

4,滑块左右两边槽的颜色
slider.minimumTrackTintColor=UIColor.redColor()  //左边槽的颜色
slider.maximumTrackTintColor=UIColor.greenColor() //右边槽的颜色

5,滑块后面槽线两侧添加图标
slider.minimumValueImage=UIImage(named:"voice+")  //左边图标
slider.maximumValueImage=UIImage(named:"voice-")  //右边图标

6,自定义滑块组件图片
//设置滑块右边部分的图片
slider.setMaximumTrackImage(UIImage(named:"slider_max"),forState:UIControlState.Normal)
//设置滑块左边部分的图片
slider.setMinimumTrackImage(UIImage(named:"slider_min"),forState:UIControlState.Normal)
//设置滑块的图片
slider.setThumbImage(UIImage(named:"slider_thumb"),forState:UIControlState.Normal)
//设置滑块右边部分的图片-使用三宫格缩放(左右14像素不变,中间缩放)
let imgTrackRight = UIImage(named:"slider_max")
let imgRight = imgTrackRight!.stretchableImageWithLeftCapWidth(14, topCapHeight:0)
slider.setMaximumTrackImage(imgRight, forState:UIControlState.Normal)
评论2
  • 2楼
    2016-05-12 10:09
    苹果不青

    航哥,这上边的图片在哪里啊?自己去网上照图片半天找不到,或者贴个效果图看看也行哇!

    站长回复

    哪个图片?最上面有个效果图啊。下面自定义图片的话,你自己随便找个图标运行下就可以看到效果了。

  • 1楼
    2016-04-14 15:25
    偶记

    航哥 问个问题 就是像下面这样的代码 对于slider来说我能不能添加两个UIControlEvents,因为我想实现 在valuechange的时候 能看到数值但是不想进行网咯请求数据 只想它停下来的时候请求最后的那个value的数据
    rightslider.addTarget(self, action: "handleEventchangeValue:", forControlEvents: .ValueChanged)
    rightslider.addTarget(self, action: "handleEventchange:", forControlEvents:UIControlEvents.TouchUpInside)

    站长回复

    当然可以这样做,你这个方法很好。