当我们在IOS中已经有UIColor时,为什么会有CGColor?如果它们不同,那么它们之间有什么区别?

Ana*_*ath 0 cgcolor uicolor ios

我只是想知道为什么有两种方法可以在iOS中获得颜色.我是Swift和Objective C开发的新手,我只是想知道他们是如何以及为什么不同?

cle*_*ens 5

CGColor来自低于UIColor.这种差异在Swift中不再那么明显,但你可以在Objective-C中看到这一点,其中UIColor是一个带有方法的Objective-C类,而它CGColor是一个C类型,你可以用C函数访问它.

UIColor是UIKit的一部分,它基于Core Graphics,CGColor属于.虽然UIKit适用于iOS(和tvOS),但Core Graphics适用于macOS和iOS,您可以在两者之间共享Core Graphics的代码.

粗略地说,Core Graphics用于绘图,而UIKit及其macOS吊坠AppKit用于GUI显示.