解决UISlider两边间隙

2018-11-15  本文已影响32人  梦里桃花舞倾城

在设置UISlider最大值和最小值的image时导致左右两边间隙很大

解决方案
写一个继承UISlider的子类重写trackRectForBounds:(CGRect)bounds方法

@interface CustomSlider : UISlider
@end

@implementation CustomSlider

// 控制slider的宽和高,这个方法才是真正的改变slider滑道的高的
- (CGRect)trackRectForBounds:(CGRect)bounds {//返回滑道大小
    bounds.origin.x = 20;
    bounds.origin.y = (bounds.size.height - 2)/2.0;
    bounds.size.height = 2;
    bounds.size.width = bounds.size.width - 40;
    return bounds;
}
@end

或者

- (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([superthumbRectForBounds:bounds trackRect:rect value:value],10,10);
}

上一篇 下一篇

猜你喜欢

热点阅读