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

目前,我正在努力制作一个自定义按钮,我有一个图像,并具有坐标,但我发现您可以通过使用CGPath类或UIBezierPath创建一个按钮/对象类.有人可以告诉我两者有什么区别?

解决方法

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

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

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...