美文网首页iOS专题iOS Developer程序员
UISlider 滑块图标 已滑动图片 未滑动图片 自定义

UISlider 滑块图标 已滑动图片 未滑动图片 自定义

作者: Gravity_Zhan | 来源:发表于2016-04-28 11:12 被阅读2813次

经过笔者深入研究,实现对UISlider高度自定义,效果如下:


首先设置滑块的样式--图形:

[slider setThumbImage:[UIImage imageNamed:@"sc_sliderBtn"] forState:UIControlStateNormal];

自定义滑块的大小--需要重写父类的下方法:

-(CGRect)thumbRectForBounds:(CGRect)bounds trackRect:(CGRect)rect value:(float)value {

rect.origin.x=rect.origin.x-10;

rect.size.width=rect.size.width+20;
return CGRectInset([super thumbRectForBounds:bounds trackRect:rect value:value],10,10);
}

接下来是滑动时覆盖的图或者颜色设置:

UIImage *image = [[UIImage imageNamed:@"sc_slider"] resizableImageWithCapInsets:UIEdgeInsetsZero];//图片模式,不设置的话会被压缩

[slider setMinimumTrackImage:image forState:UIControlStateNormal];//设置图片
//[slider setMinimumTrackTintColor:[UIColor redColor]];//设置颜色

然后是未覆盖的图或颜色设置:

UIImage *image2 = [[UIImage imageNamed:@"sc_slider2"] resizableImageWithCapInsets:UIEdgeInsetsZero];//图片模式,不设置的话会被压缩

[slider setMaximumTrackImage:image2 forState:UIControlStateNormal];//设置图片

//[slider setMaximumTrackTintColor:[UIColor lightGrayColor]];//颜色设置

最后~~~ Build一下~~ 到此,UISlider完全按照自己的想法来了~~

相关文章

网友评论

  • 跳跳虾:终于解决了,我的滑动过程中图片变形的问题,😄,
  • puppySweet:重写父类的方法 那不对吧 我设置后我的thumb 不见了
    Gravity_Zhan:@puppySweet 贴一下代码,我给你看看,我这边是正常的

本文标题:UISlider 滑块图标 已滑动图片 未滑动图片 自定义

本文链接:https://www.haomeiwen.com/subject/deqhrttx.html