iOS中NSColor和UIColor的使用有什么区别?

14

UIColorNSColor有什么区别?何时使用每个?我在尝试解决iOS中属性字符串的UIColor用途时遇到了NSColor。我理解UIColor在UIKit等方面的使用,但我不认为NSColor对此类事情真的有用。关于iOS编程,NSColor是否已经落伍?


3
NSColor 是一个用于 macOS 的类。UIColor 是一个用于 iOS 的类。 - nhgrif
14
为什么每个人都在踩这个问题?文档并不总是清楚地表明它们是在引用OSX还是iOS,这非常令人困惑,尤其对于一个iOS新手来说。我已经做了多年的iOS和Mac OS,有时仍会因为覆盖Mac OS和iOS的文档而感到困惑。我认为这是一个合理的问题。 - Duncan C
@DuncanC 非常正确。Mac文档有时也涵盖iOS编程指南。 - GoodSp33d
3个回答

19

iOS中不存在NSColor,应使用UIColor。

NSColor只作为OSX类存在。


8
如Nate所说,NSColor仅适用于OSX。如果你在NSAttributedString的文档中看到了它的提及,那么这可能是Mac OS的文档。有些文档确实会在不同平台之间“渗透”。
如果你在Xcode文档中搜索NSAttributedString(NSStringDrawing),你会发现一些UIKit对NSAttributedString的添加,可以使用UIColor来指定颜色。
看起来相当的OS X应用程序工具包扩展被称为NSAttributedString(NSAttributedStringKitAdditions)。你得爱上这种一致的命名惯例,不是吗?

4

NSColor是来自AppKit框架,而UIColor则是来自UIKit框架。UIKit是专为iOS设计的全新框架,而AppKit则源自于NeXT平台。由于AppKit只能在Mac上使用,因此你不能在iOS应用中使用NSColor。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接