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

目前,我正在努力制作一个自定义按钮,我有一个图像,并具有坐标,但我发现您可以通过使用CGPath类或UIBezierPath创建一个按钮/对象类.有人可以告诉我两者有什么区别?
CGPath是CoreGraphics库的不透明类型,而 UIBezierPath是UIKit中的Obj-C类. UIBezierPath是一个围绕CGPath的包装(您可以轻松地在它们之间进行转换),具有更加面向对象的界面和一些方便的方法.使用CGPath可能会略微更快,因为它不必经过Obj-C(尽管谁知道它如何与Swift一起使用),并且它具有更高级的功能,如 CGPathApply.重要的是,UIBezierPath符合NSCoding,这意味着您获得序列化/反序列化免费.

tl; dr:使用UIBezierPath,除非你有一些理由不去.

相关文章
相关标签/搜索