需要继承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
网友评论