可以将 UISlider 对折以形成 90° 角吗?
Posted
技术标签:
【中文标题】可以将 UISlider 对折以形成 90° 角吗?【英文标题】:Possible to bend a UISlider in half to make a 90° angle? 【发布时间】:2014-05-05 05:24:58 【问题描述】:我正在尝试创建一个UISlider
,它能够向上和向右拖动。想象一下滑块 L
看起来像大写字母,滑块 thumb-button
在执行每个滑动操作后位于弯道处。
我查看并找到了这个:UICircularSlider
但是对于我需要做的事情来说似乎太多了。我不确定UISlider
是要走的路,但这是最简单的功能想到的。
有没有办法做到这一点?
【问题讨论】:
为什么看起来太多了?当然,它似乎是您使用的完美指南。 【参考方案1】:使用 3rd 方库绝对是一种方法,但使用所有普通目标 C 组件的正常方法是使用 2 个 UISlider,使用 CGAffineTransformRotate
旋转 90 度之一。然后你在另一个结束时开始第二个,并将 ThumbImage 隐藏在第一个上,这样它会给你一种它们继续存在的感觉。再一次,这种方式绝对不是一种整洁的方式,只是不用担心使用新库。
P.S:您可以创建自己的 UISlider 子类并在该类中实现它,因此如果您再次需要它可以重用它。
【讨论】:
由于他在每次滑动后都会将拇指按钮弹回零位置,隐藏另一个拇指按钮意味着另一个滑块将始终不起作用。【参考方案2】:这是我的建议:
制作 2 个滑块,将其中一个旋转 90 度并隐藏拇指。
将手势识别器添加到水平(活动)滑块的拇指图像并将方向设置为 UISwipeGestureRecognizerDirectionUp。
在向上滑动事件中,显示垂直滑块的拇指并隐藏水平滑块的拇指。
不利的一面是,此方法不报告垂直位置,因此您可能想使用 UITouch,调用 locationInView 方法,并相应地更新拇指框架。超越了使用滑块的目的,但实现了您想要实现的目标。
【讨论】:
【参考方案3】:你可以制作2个视图来制作它。:
检测旋转手势的底视图
带有圆形滑块图像的顶视图
控制示例:https://github.com/nathanday/ndrotator
【讨论】:
以上是关于可以将 UISlider 对折以形成 90° 角吗?的主要内容,如果未能解决你的问题,请参考以下文章
将 String 转换为 Float 以移动 UISlider