如何在 SWIFT 中的圆圈上绘制文本

how to draw a text on a circle in SWIFT

我不知道如何开始,所以我也没有任何代码。 到目前为止,我的研究指出,没有标准功能,必须由我们自己编写代码?

任何提示或确认?

更新 使用 Ashish 建议的 CoreTextArcView。

感谢您的帮助。 建议的示例项目对我有用。我可以看到上面有文字的蓝色圆圈。 但是将其集成到我的项目中时,我遇到了问题。 我做了以下

  1. 我将文件 "CoreTextArcView.h""CoreTextArcView.m" 添加到我的项目中。我可以在左侧的资源管理器中看到它们。

  2. 在我的 BridgingHeader.h 我添加了导入:#import "CoreTextArcView.h"

  3. 我添加了代码示例:

    var arctext:CoreTextArcView = CoreTextArcView(框架:CGRectMake(50、50、200、200),字体:UIFont.systemFontOfSize(15),文本:"Hello this is radious arc with text",半径:85,arcSize: 130.0,颜色:UIColor.redColor()) arctext.backgroundColor = UIColor.clearColor() self.view.addSubview(arctext)

-> 我在 CoreTextArcView.m:

中遇到编译错误
/Users/user/Desktop/Prototypes/CoreTextArcView.m
/Users/user/Desktop/Prototypes/CoreTextArcView.m:99:14: 'release' is unavailable: not available in automatic reference counting mode
/Users/user/Desktop/Prototypes/CoreTextArcView.m:99:14: ARC forbids explicit message send of 'release'
/Users/user/Desktop/Prototypes/CoreTextArcView.m:100:21: 'retain' is unavailable: not available in automatic reference counting mode
/Users/user/Desktop/Prototypes/CoreTextArcView.m:100:21: ARC forbids explicit message send of 'retain'
/Users/user/Desktop/Prototypes/CoreTextArcView.m:144:33: Cast of Objective-C pointer type 'NSAttributedString *' to C pointer type 'CFAttributedStringRef' (aka 'const struct __CFAttributedString *') requires a bridged cast
/Users/user/Desktop/Prototypes/CoreTextArcView.m:190:63: Cast of C pointer type 'CTFontRef' (aka 'const struct __CTFont *') to Objective-C pointer type 'UIFont *' requires a bridged cast
/Users/user/Desktop/Prototypes/CoreTextArcView.m:298:37: Cast of C pointer type 'CTFontRef' (aka 'const struct __CTFont *') to Objective-C pointer type 'id' requires a bridged cast
/Users/user/Desktop/Prototypes/CoreTextArcView.m:307:24: 'autorelease' is unavailable: not available in automatic reference counting mode
/Users/user/Desktop/Prototypes/CoreTextArcView.m:307:24: ARC forbids explicit message send of 'autorelease'

有帮助吗?

通过使用这个库:https://github.com/javenisme/CurvaView

var arctext : CoreTextArcView = CoreTextArcView(frame: CGRectMake(50, 50, 200, 200), font: UIFont.systemFontOfSize(15), text: "Hello this is radious arc with text", radius: 85, arcSize: 130.0, color: UIColor.redColor())
arctext.backgroundColor = UIColor.clearColor()
self.view.addSubview(arctext)

删除一个文件的 arc,如下所示(从项目目标的构建阶段将 -fno-objc-arc 设置为该库的 .m 文件):