【问题标题】:iOS Circular SlideriOS 圆形滑块
【发布时间】:2023-06-11 16:10:01
【问题描述】:

我想创建一个如下所示的圆形滑块。

但我还想要两个功能。

1) 我想从任意点开始滑块,但在图中。它从 0 开始。

2) 我想在一个圆形黑色图中包含多个滑块。

我正在分享这个项目的链接: https://www.cocoacontrols.com/controls/circularsliderdemo

谁能帮我完成这些功能。 提前致谢。

【问题讨论】:

  • 这不是 SO 的工作方式。 SO 用于获得特定问题的帮助。还有像 Github 这样的其他网站,您可以在其中发布协作项目并获得帮助,还有像 CodeMentor 这样的网站,您可以在其中花钱请人帮助您完成项目(我参与了这两个网站。)您所描述的内容对于一个经验丰富的 Cocoa/Cocoa touch 开发人员。

标签: ios objective-c iphone ipad ios7


【解决方案1】:

看看CAShapeLayer。您可以创建一个完整的圆路径,并使用 strokeStart 和 strokeEnd 属性仅绘制圆的一部分。您可以使用核心动画在开始和结束之间设置动画。

Github 上有一个开源的自定义手势识别器,它是一个单指手势识别器。这将是检测和响应此类控件所需的旋转手势的良好开端。 编辑:它叫做KTOneFingerRotationGestureRecognizer(链接)

这些是帮助您入门的一些想法。

我在 github 上有一个名为 iOS-CAAnimation-group-demo 的项目,其中包括“时钟擦除”动画。时钟擦除通过将形状层设置为图像视图的遮罩层,安装一个足够宽以完全填充矩形区域的全圆弧,然后为形状层的 strokeEnd 属性设置动画以显示/隐藏图像视图。时钟擦除比你需要的复杂得多,但它会给你你想要的种子。您将使用线宽更细的形状图层,并将其用作内容图层,而不是蒙版。

【讨论】:

  • 没有 CAPathLayer 这样的东西。
  • @matt,对不起,我的错误。我的意思是 CAShapeLayer。 (我更正了我的答案。)感谢您指出我的错误。
  • 是的,没有伤害没有犯规。