1

我正在尝试创建一个大拇指 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 偏移量。

我只是想确保我没有错过一个大洞或一个直接的方法来完成不涉及滑块后的自定义图像视图等。

任何想法?

谢谢

4

1 回答 1

0

clipsToBounds:设置为no了吗?我记得大约 18 个月前必须为一个项目执行此操作,但由于每轮反馈后都会发生大量自定义,我只是使用 UIViews 和 UIPanGestureRecognizer 编写了自己的滑块;更多的工作,但更容易定制。

于 2013-06-03T12:54:26.767 回答