UISlider的子控件有缝隙的原因

2020-04-14  本文已影响0人  _RG

需要继承UISlider重写下面

-(CGRect)trackRectForBounds:(CGRect)bounds

子控件左右两边默认都会有几个像素的间隙(左右子控件的长度加起来不等于UISlider的长度),需要在trackRectForBounds将起始X值设为0,width为bounds的width

-(CGRect)trackRectForBounds:(CGRect)bounds{
  //此处设置为子控件的范围
    CGRect react = bounds;
    react.origin.y = (bounds.size.height - 3)/2;
    react.size.height = 3;
    return react;
}

如果需要设置thumb的范围需要重写
- (CGRect)thumbRectForBounds:(CGRect)bounds trackRect:(CGRect)rect value:(float)value

上一篇 下一篇

猜你喜欢

热点阅读