cgColor和UIColor之间的区别

时间:2018-01-15 09:36:36

标签: ios swift uicolor cgcolor

在我的项目中我有一系列颜色。我应该使用UIColor作为基础类型还是cgColor

有没有最佳做法?

3 个答案:

答案 0 :(得分:1)

CGColor

  • CGColor是Core Graphics内部用于表示颜色的基本数据类型。 CGColor对象及其上运行的功能提供了一种快速方便的直接管理和设置颜色的方法,尤其是重用的颜色(例如黑色用于文本)。 CGColor派生自CFTypeRef,并继承了所有Core Foundation类型共有的属性。
  • 通常CGColor用于对CGImage,CGLayer等核心图形上下文应用颜色操作......

UIColor

  • 存储颜色数据且有时不透明度(alpha值)的对象。执行自定义绘图时,UIColor对象提供了设置当前图形上下文的填充或描边颜色的方法。 UIColor对象通常在内部表示为核心图形颜色空间(CGColorSpace)中的核心图形颜色(CGColor)。 有返回基础颜色数据的方法和属性
  • UIColor,用于在UIIit,UIView等UIKit界面元素上应用颜色操作......

cgColor: UIColor的实例属性将UIColor和GCColor相互关联。

注意:您可以存储任何人的引用,但您必须将它们转换为相关的颜色类,同时处理它所属的图形界面元素的颜色操作。

答案 1 :(得分:0)

使用UIColor,如果你想将其转换为anyTime

var cc = UIColor.red.cgColor

UIColor:通常我们使用视图的背景颜色

cgColor:始终用于图层(作为填充或描边)或视图边框

答案 2 :(得分:0)

由于UIColor具有cgColor属性,我会说第一个更方便使用,如果您有疑问。

UIColor在UIKit中广泛使用,而cgColor仅用于CoreGraphics和CoreAnimation函数,因此更有可能是您需要UIColor数组的数组