iOS 仿华为系统进度条 解决滑动到左边和右边进度条显示异常问

2022-02-15  本文已影响0人  香烟不灭

使用系统UISlider 仿华为系统进度条。 样式图如下:

image.png
//设置滑动条高度 (20高)
-(CGRect)trackRectForBounds:(CGRect)bounds{

    bounds.origin.x=10;

    bounds.origin.y=bounds.size.height/2-10;

    bounds.size.height=bounds.size.height/2.0;

    bounds.size.width=bounds.size.width-20;

    return bounds;
}

出现问题,设置了滑动条高度后,出现滑动到95%的时候,进度条都变成蓝色了。
滑动到小于%5的时候,左边已滑动的颜色不出来。

解决方法:设置滑动条高度之后,需要设置左侧和右侧的图片,才能解决。
左侧图片设置和进度条颜色一样的纯色图片(示例蓝色),右侧图片设置和未选颜色一样的纯色图片(示例灰色)。注意下面三张图中,切图的时候切到边上,每个图片不要有边距。不然效果出来不理想。

左侧和右侧图片样式:


image.png

中间滑块图片样式:


image.png

设置代码:

UIImage *barImageLeft = [[UIImage imageNamed:@"VolumeLeftimg"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 10, 0, 10)];
 [_volumeSlider setMinimumTrackImage:barImageLeft forState:UIControlStateNormal];
        
UIImage *barImageRight = [[UIImage imageNamed:@"VolumeRightimg"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 10, 0, 10)];
[_volumeSlider setMaximumTrackImage:barImageRight forState:UIControlStateNormal];
        

最后如果帮助了你,请左边 点赞。

上一篇下一篇

猜你喜欢

热点阅读