ios - CGPath 和 UIBezierPath() 有什么区别?

标签 ios swift uibezierpath cgpath

<分区>

目前,我正在尝试弄清楚如何为自定义按钮设置动画,我有一个图像和一个坐标,但我发现您可以使用 CGPath 类创建一个按钮/对象或 UIBezierPath 类。有人可以告诉我两者之间有什么区别吗?

最佳答案

CGPath是来自 CoreGraphics 库的不透明类型,而 UIBezierPath是 UIKit 中的一个 Obj-C 类。 UIBezierPath 是 CGPath 的包装器(您可以轻松地在它们之间进行转换),具有更面向对象的接口(interface)和一些方便的方法。使用 CGPath 可能稍微快一些,因为它不必通过 Obj-C(尽管谁知道它如何与 Swift 一起工作)并且它具有更高级的功能,如 CGPathApply .重要的是,UIBezierPath 符合 NSCoding,这意味着您可以免费进行序列化/反序列化。

tl;dr:使用 UIBezierPath 除非你有一些理由不这样做。

关于ios - CGPath 和 UIBezierPath() 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25457597/

相关文章:

iphone - 我如何获得 WWDC10 示例代码? (104. 使用 ScrollView 设计应用程序)

ios - 如何在 View 上应用渐变模糊效果?

ios - 在 iOS 上的 Swift 中将字节流保存到文件

ios - iOS 中的 IKImageBrowserView?

ios - 如何在一段时间后停止 iOS 中的后台服务

ios - 提交 EditingStyle 删除按钮不会显示

ios - UITextView 作为 InputAccessoryView 在动画结束之前不会渲染文本

ios - 从 UITableView 加载 UISplitViewController

ios - 我想要设计一堆与曲线连接的圆圈

ios - UIBezierPath 在上一条路径之上绘制?