如何使用SwiftUI在圆形路径上绘制文本

时间:2020-02-13 05:32:53

标签: ios macos swiftui watchos

我需要一些有关如何使用SwiftUI在循环路径中生成单行文本的帮助。我正在尝试在这些Image中复制弯曲的文本。在SwiftUI中这可能吗?谢谢。

3 个答案:

答案 0 :(得分:5)

enter image description here找到了我问题的解决方案。感谢Tobias Due Munk使用SwiftUI发布了CurvedText的原型。他的解决方案可以在https://git.kabellmunk.dk/prototyping-custom-ui-in-swiftui-talk/custom-ui-prototype-in-swiftui处找到。

答案 1 :(得分:1)

不,Swift UI到目前为止还没有提供任何方法来执行此操作。因此,正如@fulvio指出的那样,您必须Swift UIKit方式进行操作。

您以后可以使用UIViewRepresentable将其集成到您的SwiftUI项目中 Refer Swift UI interfacing with UIKit由Apple Inc.

答案 2 :(得分:1)

  1. 计算每个字符的位置,请参阅How to get position of each character in SwiftUI Text以及相关的答案和讨论,以了解限制

  2. 在步骤1的帮助下,
  3. 计算您要遵循的路径上每个字符的所需位置和旋转(对于圆圈,这很容易做到)(沿路径作为参数)

  4. 定位并旋转每个字符,如下所示Positioning View using anchor point

我知道 有链接的答案 ,正如“ Ru Chem Chong”已经提到的,不是最好的,但是回答您的问题这确实是一项复杂的任务,解释所需要的不仅仅是这里的可用空间。