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

经过笔者深入研究,实现对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完全按照自己的想法来了~~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容