我正在尝试创建一个大拇指UISlider,它可以显示时间轴中当前进度的一些细节。
然而,我在使拇指从最左边开始并且到最右边时遇到了很大麻烦(甚至是UISlider的子类化)。似乎拇指无法退出UISlider的帧大小。我尝试了子类化和实现
- (CGRect)thumbRectForBounds:(CGRect)bounds trackRect:(CGRect)rect value:(float)value
CGRect result = [super thumbRectForBounds:bounds trackRect:rect value:value];
result = CGRectOffset(result, -100, -125);
return result;
}
这种方式可行,但在此示例中(例如,负x偏移),滑块在大约一半的轨道处向右停止。我认为实现此方法的正确方法是使用动态x偏移量,该偏移量取决于轨道的值。
我只是想确保我没有错过一个大洞或直接的方法来完成那些不涉及滑块等的自定义图像视图。
任何想法?
由于
答案 0 :(得分:0)
你有clipsToBounds:
设置为否?我记得大约18个月之前必须为一个项目做这个,但是由于在每一轮反馈之后发生了大量的自定义,我只是使用UIViews和UIPanGestureRecognizer编写了我自己的滑块;更多工作,但更容易定制。