UISlider thumbImage 无法退出 uislider 框架

Posted

技术标签:

【中文标题】UISlider thumbImage 无法退出 uislider 框架【英文标题】:UISlider thumbImage cannot exit uislider frame 【发布时间】:2013-06-03 12:04:41 【问题描述】:

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

我只是想确保我没有遗漏一个大漏洞或一个简单的方法来完成不涉及跟随滑块的自定义图像视图等等。

有什么想法吗?

谢谢

【问题讨论】:

嗨,Supeandr,您找到解决方案了吗? 【参考方案1】:

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

【讨论】:

谢谢,clipToBounds 设置为 NO(我猜默认情况下),如果我设置为 yes,问题仍然存在并且视图以这种方式被剪裁:d.pr/i/9o4B

以上是关于UISlider thumbImage 无法退出 uislider 框架的主要内容,如果未能解决你的问题,请参考以下文章

UISlider 延迟调用touchesBegan,延迟调用valueChangeHandle。delay?

如何以编程方式更改 UISlider 拇指图像的大小

iOS开发UISlider设置图片 滑块不能滑到最左最右边

设置 thumbImage 并观看滑块消失?

自定义 UISlider 图像无法正常工作

为啥我无法使用 UISlider 降低亮度?