1、创建示例
2、API说明
// 颜色类型
typedef NS_ENUM(NSInteger, NSColorType) {
// 基于组成部分的颜色,由RGB、CMYK等组成。
NSColorTypeComponentBased,
// 图案颜色,使用一个图案来填充一个区域。
NSColorTypePattern,
// 目录中定义的颜色,可以在Interface Builder中使用。
NSColorTypeCatalog
};
// 颜色系统效果
typedef NS_ENUM(NSInteger, NSColorSystemEffect) {
// 无效果
NSColorSystemEffectNone,
// 按下效果
NSColorSystemEffectPressed,
// 深度按下效果
NSColorSystemEffectDeepPressed,
// 禁用效果
NSColorSystemEffectDisabled,
// 悬停效果
NSColorSystemEffectRollover,
} API_AVAILABLE(macos(10.14));
@interface NSColor : NSObject <NSCopying, NSSecureCoding, NSPasteboardReading, NSPasteboardWriting>
/**
* @brief 新建对象的初始化方法
*
* @return 新建的对象
*/
- (instancetype)init NS_DESIGNATED_INITIALIZER;
/**
* @brief 实现NSCoding协议, 解码初始化方法
*
* @param coder 解码器
* @return 解码出来的对象
*/
- (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
/**
* @brief 通过指定的颜色空间和数组值,创建颜色对象
*
* @param space 颜色空间
* @param components 颜色数组
* @param numberOfComponents 颜色数组中的总数量
* @return 新建的颜色对象
*/
+ (NSColor *)colorWithColorSpace:(NSColorSpace *)space components:(const CGFloat *)components count:(NSInteger)numberOfComponents;
/**
* @brief 使用SRGB的红、绿、蓝和Alpha值创建颜色对象
*
* @param red 红色值
* @param green 绿色值
* @param blue 蓝色值
* @param alpha Alpha值
* @return 新建的颜色对象
*/
+ (NSColor *)colorWithSRGBRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha API_AVAILABLE(macos(10.7));
/**
* @brief 使用伽马2.2的白色和Alpha值创建颜色对象
*
* @param white 白色值
* @param alpha Alpha值
* @return 新建的颜色对象
*/
+ (NSColor *)colorWithGenericGamma22White:(CGFloat)white alpha:(CGFloat)alpha API_AVAILABLE(macos(10.7));
/**
* @brief 使用Display P3的红、绿、蓝和Alpha值创建颜色对象
*
* @param red 红色值
* @param green 绿色值
* @param blue 蓝色值
* @param alpha Alpha值
* @return 新建的颜色对象
*/
+ (NSColor *)colorWithDisplayP3Red:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha API_AVAILABLE(macos(10.12));
/**
* @brief 使用白色和Alpha值创建颜色对象
*
* @param white 白色值
* @param alpha Alpha值
* @return 新建的颜色对象
*/
+ (NSColor *)colorWithWhite:(CGFloat)white alpha:(CGFloat)alpha API_AVAILABLE(macos(10.9));
/**
* @brief 使用红、绿、蓝和Alpha值创建颜色对象
*
* @param red 红色值
* @param green 绿色值
* @param blue 蓝色值
* @param alpha Alpha值
* @return 新建的颜色对象
*/
+ (NSColor *)colorWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha API_AVAILABLE(macos(10.9));
/**
* @brief 使用色调、饱和度、明度和Alpha值创建颜色对象
*
* @param hue 色调值
* @param saturation 饱和度值
* @param brightness 明度值
* @param alpha Alpha值
* @return 新建的颜色对象
*/
+ (NSColor *)colorWithHue:(CGFloat)hue saturation:(CGFloat)saturation brightness:(CGFloat)brightness alpha:(CGFloat)alpha API_AVAILABLE(macos(10.9));
/**
* @brief 使用指定的颜色空间、色调、饱和度、明度和Alpha值创建颜色对象
*
* @param space 颜色空间
* @param hue 色调值
* @param saturation 饱和度值
* @param brightness 明度值
* @param alpha Alpha值
* @return 新建的颜色对象
*/
+ (NSColor *)colorWithColorSpace:(NSColorSpace *)space hue:(CGFloat)hue saturation:(CGFloat)saturation brightness:(CGFloat)brightness alpha:(CGFloat)alpha API_AVAILABLE(macos(10.12));
/**
* @brief 使用指定的颜色列表名称和颜色名称创建颜色对象
*
* @param listName 颜色列表名称
* @param colorName 颜色名称
* @return 新建的颜色对象
*/
+ (nullable NSColor *)colorWithCatalogName:(NSColorListName)listName colorName:(NSColorName)colorName;
/**
* @brief 使用指定名称和Bundle创建颜色对象
*
* @param name 颜色名称
* @param bundle Bundle对象
* @return 新建的颜色对象
*/
+ (nullable NSColor *)colorNamed:(NSColorName)name bundle:(nullable NSBundle *)bundle API_AVAILABLE(macos(10.13));
/**
* @brief 使用指定名称创建颜色对象
*
* @param name 颜色名称
* @return 新建的颜色对象
*/
+ (nullable NSColor *)colorNamed:(NSColorName)name API_AVAILABLE(macos(10.13));
/**
* @brief 使用设备色调、饱和度、明度和Alpha值创建颜色对象
*
* @param hue 色调值
* @param saturation 饱和度值
* @param brightness 明度值
* @param alpha Alpha值
* @return 新建的颜色对象
*/
+ (NSColor *)colorWithDeviceHue:(CGFloat)hue saturation:(CGFloat)saturation brightness:(CGFloat)brightness alpha:(CGFloat)alpha;
/**
* @brief 使用设备白色和Alpha值创建颜色对象
*
* @param white 白色值
* @param alpha Alpha值
* @return 新建的颜色对象
*/
+ (NSColor *)colorWithDeviceWhite:(CGFloat)white alpha:(CGFloat)alpha;
/**
* @brief 使用设备红、绿、蓝和Alpha值创建颜色对象
*
* @param red 红色值
* @param green 绿色值
* @param blue 蓝色值
* @param alpha Alpha值
* @return 新建的颜色对象
*/
+ (NSColor *)colorWithDeviceRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha;
/**
* @brief 使用设备色调、饱和度、明度和Alpha值创建颜色对象
*
* @param cyan 青色值
* @param magenta 洋红色值
* @param yellow 黄色值
* @param black 黑色值
* @param alpha Alpha值
* @return 新建的颜色对象
*/
+ (NSColor *)colorWithDeviceCyan:(CGFloat)cyan magenta:(CGFloat)magenta yellow:(CGFloat)yellow black:(CGFloat)black alpha:(CGFloat)alpha;
/**
* @brief 使用设备白色和Alpha值(校正过)创建颜色对象
*
* @param white 白色值
* @param alpha Alpha值
* @return 新建的颜色对象
*/
+ (NSColor *)colorWithCalibratedWhite:(CGFloat)white alpha:(CGFloat)alpha;
/**
* @brief 使用设备红、绿、蓝和Alpha值(校正过)创建颜色对象
*
* @param red 红色值
* @param green 绿色值
* @param blue 蓝色值
* @param alpha Alpha值
* @return 新建的颜色对象
*/
+ (NSColor *)colorWithCalibratedRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha;
/**
* @brief 使用设备色调、饱和度、明度和Alpha值(校正过)创建颜色对象
*
* @param hue 色调值
* @param saturation 饱和度值
* @param brightness 明度值
* @param alpha Alpha值
* @return 新建的颜色对象
*/
+ (NSColor *)colorWithCalibratedHue:(CGFloat)hue saturation:(CGFloat)saturation brightness:(CGFloat)brightness alpha:(CGFloat)alpha;
/**
* @brief 使用图像创建颜色对象
*
* @param image 图像对象
* @return 新建的颜色对象
*/
+ (NSColor *)colorWithPatternImage:(NSImage *)image;
/** 颜色类型 */
@property(readonly) NSColorType type API_AVAILABLE(macos(10.13));
/**
* @brief 获取该颜色使用指定颜色类型的表示形式
*
* @param type 颜色类型
* @return 该颜色使用指定颜色类型的表示形式,如果转换失败则返回 nil
*/
- (nullable NSColor *)colorUsingType:(NSColorType)type API_AVAILABLE(macos(10.13));
/**
* @brief 获取该颜色使用指定颜色空间的表示形式
*
* @param space 颜色空间
* @return 该颜色使用指定颜色空间的表示形式,如果转换失败则返回 nil
*/
- (nullable NSColor *)colorUsingColorSpace:(NSColorSpace *)space;
/** 黑色 */
@property(class, strong, readonly) NSColor *blackColor;
/** 暗灰色 */
@property(class, strong, readonly) NSColor *darkGrayColor;
/** 亮灰色 */
@property(class, strong, readonly) NSColor *lightGrayColor;
/** 白色 */
@property(class, strong, readonly) NSColor *whiteColor;
/** 灰色 */
@property(class, strong, readonly) NSColor *grayColor;
/** 红色 */
@property(class, strong, readonly) NSColor *redColor;
/** 绿色 */
@property(class, strong, readonly) NSColor *greenColor;
/** 蓝色 */
@property(class, strong, readonly) NSColor *blueColor;
/** 青色 */
@property(class, strong, readonly) NSColor *cyanColor;
/** 黄色 */
@property(class, strong, readonly) NSColor *yellowColor;
/** 洋红色 */
@property(class, strong, readonly) NSColor *magentaColor;
/** 橙色 */
@property(class, strong, readonly) NSColor *orangeColor;
/** 紫色 */
@property(class, strong, readonly) NSColor *purpleColor;
/** 棕色 */
@property(class, strong, readonly) NSColor *brownColor;
/** 透明色 */
@property(class, strong, readonly) NSColor *clearColor;
/** 标签颜色 */
@property(class, strong, readonly) NSColor *labelColor API_AVAILABLE(macos(10.10));
/** 次要标签颜色 */
@property(class, strong, readonly) NSColor *secondaryLabelColor API_AVAILABLE(macos(10.10));
/** 第三个标签颜色 */
@property(class, strong, readonly) NSColor *tertiaryLabelColor API_AVAILABLE(macos(10.10));
/** 第四个标签颜色 */
@property(class, strong, readonly) NSColor *quaternaryLabelColor API_AVAILABLE(macos(10.10));
/** 链接颜色 */
@property(class, strong, readonly) NSColor *linkColor API_AVAILABLE(macos(10.10));
/** 占位符文本颜色 */
@property(class, strong, readonly) NSColor *placeholderTextColor API_AVAILABLE(macos(10.10));
/** 窗口框架文本颜色 */
@property(class, strong, readonly) NSColor *windowFrameTextColor;
/** 选中菜单项文本颜色 */
@property(class, strong, readonly) NSColor *selectedMenuItemTextColor;
/** 备选选中控件文本颜色 */
@property(class, strong, readonly) NSColor *alternateSelectedControlTextColor;
/** 标题文字颜色 */
@property(class, strong, readonly) NSColor *headerTextColor;
/** 分隔线颜色 */
@property(class, strong, readonly) NSColor *separatorColor API_AVAILABLE(macos(10.14));
/** 网格颜色 */
@property(class, strong, readonly) NSColor *gridColor;
/** 窗口背景颜色 */
@property(class, strong, readonly) NSColor *windowBackgroundColor;
/** 页面下方背景颜色 */
@property(class, strong, readonly) NSColor *underPageBackgroundColor API_AVAILABLE(macos(10.8));
/** 控件背景颜色 */
@property(class, strong, readonly) NSColor *controlBackgroundColor;
/** 选定内容的背景颜色 */
@property(class, strong, readonly) NSColor *selectedContentBackgroundColor API_AVAILABLE(macos(10.14));
/** 未强调选定内容的背景颜色 */
@property(class, strong, readonly) NSColor *unemphasizedSelectedContentBackgroundColor API_AVAILABLE(macos(10.14));
/** macOS 10.14 可用。获取表格视图等控件隔行背景色的数组 */
@property(class, strong, readonly) NSArray<NSColor *> *alternatingContentBackgroundColors API_AVAILABLE(macos(10.14));
/** macOS 10.13 可用。获取用于文本编辑器中查找结果的高亮颜色 */
@property(class, strong, readonly) NSColor *findHighlightColor API_AVAILABLE(macos(10.13));
/** 获取文本的颜色 */
@property(class, strong, readonly) NSColor *textColor;
/** 获取文本背景色 */
@property(class, strong, readonly) NSColor *textBackgroundColor;
/** 获取所选文本的颜色 */
@property(class, strong, readonly) NSColor *selectedTextColor;
/** 获取所选文本的背景色 */
@property(class, strong, readonly) NSColor *selectedTextBackgroundColor;
/** macOS 10.14 可用。获取未强调所选文本的背景色 */
@property(class, strong, readonly) NSColor *unemphasizedSelectedTextBackgroundColor API_AVAILABLE(macos(10.14));
/** macOS 10.14 可用。获取未强调所选文本的颜色 */
@property(class, strong, readonly) NSColor *unemphasizedSelectedTextColor API_AVAILABLE(macos(10.14));
/** 获取控件的颜色 */
@property(class, strong, readonly) NSColor *controlColor;
/** 获取控件文本的颜色 */
@property(class, strong, readonly) NSColor *controlTextColor;
/** 获取所选控件的颜色 */
@property(class, strong, readonly) NSColor *selectedControlColor;
/** 获取所选控件文本的颜色 */
@property(class, strong, readonly) NSColor *selectedControlTextColor;
/** 获取控件禁用时文本的颜色 */
@property(class, strong, readonly) NSColor *disabledControlTextColor;
/** 获取键盘焦点指示符的颜色 */
@property(class, strong, readonly) NSColor *keyboardFocusIndicatorColor;
/** macOS 10.12.2 可用。获取文本滑块的纹理背景颜色 */
@property(class, strong, readonly) NSColor *scrubberTexturedBackgroundColor API_AVAILABLE(macos(10.12.2));
/** 系统红色 */
@property(class, strong, readonly) NSColor *systemRedColor API_AVAILABLE(macos(10.10));
/** 系统绿色 */
@property(class, strong, readonly) NSColor *systemGreenColor API_AVAILABLE(macos(10.10));
/** 系统蓝色 */
@property(class, strong, readonly) NSColor *systemBlueColor API_AVAILABLE(macos(10.10));
/** 系统橙色 */
@property(class, strong, readonly) NSColor *systemOrangeColor API_AVAILABLE(macos(10.10));
/** 系统黄色 */
@property(class, strong, readonly) NSColor *systemYellowColor API_AVAILABLE(macos(10.10));
/** 系统棕色 */
@property(class, strong, readonly) NSColor *systemBrownColor API_AVAILABLE(macos(10.10));
/** 系统粉红色 */
@property(class, strong, readonly) NSColor *systemPinkColor API_AVAILABLE(macos(10.10));
/** 系统紫色 */
@property(class, strong, readonly) NSColor *systemPurpleColor API_AVAILABLE(macos(10.10));
/** 系统灰色 */
@property(class, strong, readonly) NSColor *systemGrayColor API_AVAILABLE(macos(10.10));
/** 系统青蓝色 */
@property(class, strong, readonly) NSColor *systemTealColor API_AVAILABLE(macos(10.12));
/** 系统靛青色 */
@property(class, strong, readonly) NSColor *systemIndigoColor API_AVAILABLE(macos(10.15));
/** 系统薄荷绿色 */
@property(class, strong, readonly) NSColor *systemMintColor API_AVAILABLE(macos(10.12));
/** 系统青色 */
@property(class, strong, readonly) NSColor *systemCyanColor API_AVAILABLE(macos(12.0));
/** 控制颜色强调色 */
@property(class, strong, readonly) NSColor *controlAccentColor API_AVAILABLE(macos(10.14));
/** 当前控件色调 */
@property(class, readonly) NSControlTint currentControlTint;
/**
* @brief 根据控件色调返回颜色
*
* @param controlTint 控件色调
* @return 颜色
*/
+ (NSColor *)colorForControlTint:(NSControlTint)controlTint API_DEPRECATED("NSControlTint不描述可用的所有控件强调颜色。请改用+[NSColor controlAccentColor]。", macos(10.0, 11.0));
/** 突出颜色 */
@property(class, strong, readonly) NSColor *highlightColor;
/** 阴影颜色 */
@property(class, strong, readonly) NSColor *shadowColor;
/**
* @brief 使用给定的参数生成突出颜色
*
* @param val 突出级别,有效范围为0.0到1.0。
* @return 生成的突出颜色或nil(如果无法生成)
*/
- (nullable NSColor *)highlightWithLevel:(CGFloat)val;
/**
* @brief 使用给定的参数生成阴影颜色
*
* @param val 阴影级别,有效范围为0.0到1.0。
* @return 生成的阴影颜色或nil(如果无法生成)
*/
- (nullable NSColor *)shadowWithLevel:(CGFloat)val;
/**
* @brief 返回具有特定系统效果的颜色
*
* @param systemEffect 系统效果
* @return 具有特定系统效果的颜色
*/
- (NSColor *)colorWithSystemEffect:(NSColorSystemEffect)systemEffect API_AVAILABLE(macos(10.14));
/**
* @brief 通过在图形上下文中设置颜色来指定填充和描边颜色
*/
- (void)set;
/**
* @brief 指定该颜色用于填充路径
*/
- (void)setFill;
/**
* @brief 指定该颜色用于描边路径
*/
- (void)setStroke;
/**
* @brief 返回与使用分数混合的当前颜色的混合版本,并与另一个颜色混合
*
* @param fraction 指定两个颜色之间混合的分数。要从当前颜色混合另一个颜色,请指定0.0到1.0之间的值。
* @param color 用于混合的另一个颜色
* @return 指定分数混合的两个颜色的结果颜色
*/
- (nullable NSColor *)blendedColorWithFraction:(CGFloat)fraction ofColor:(NSColor *)color;
/**
* @brief 返回具有给定透明度的当前颜色
*
* @param alpha 指定当前颜色的透明度,有效范围为0.0(完全透明)到1.0(完全不透明)
* @return 具有给定透明度的当前颜色
*/
- (NSColor *)colorWithAlphaComponent:(CGFloat)alpha;
/** 颜色列表名称组件 */
@property(readonly, copy) NSColorListName catalogNameComponent;
/** 颜色名称组件 */
@property(readonly, copy) NSColorName colorNameComponent;
/** 本地化的颜色列表名称组件 */
@property(readonly, copy) NSString *localizedCatalogNameComponent;
/** 本地化的颜色名称组件 */
@property(readonly, copy) NSString *localizedColorNameComponent;
/** 红色分量值 */
@property(readonly) CGFloat redComponent;
/** 绿色分量值 */
@property(readonly) CGFloat greenComponent;
/** 蓝色分量值 */
@property(readonly) CGFloat blueComponent;
/**
@brief 获取颜色的RGBA值
@param red 红色通道的值,传入NULL表示不需要获取该值
@param green 绿色通道的值,传入NULL表示不需要获取该值
@param blue 蓝色通道的值,传入NULL表示不需要获取该值
@param alpha 透明度通道的值,传入NULL表示不需要获取该值
*/
- (void)getRed:(nullable CGFloat *)red green:(nullable CGFloat *)green blue:(nullable CGFloat *)blue alpha:(nullable CGFloat *)alpha;
/** 色度组件 */
@property(readonly) CGFloat hueComponent;
/** 饱和度组件 */
@property(readonly) CGFloat saturationComponent;
/** 亮度组件 */
@property(readonly) CGFloat brightnessComponent;
/**
* @brief 返回颜色组件的值
*
* @param hue 如果非NULL,则此方法将hueComponent(0.0-1.0之间)的当前值存储在* hue中。
* @param saturation 如果非NULL,则此方法将saturationComponent(0.0-1.0之间)的当前值存储在* saturation中。
* @param brightness 如果非NULL,则此方法将brightnessComponent(0.0-1.0之间)的当前值存储在* brightness中。
* @param alpha 如果非NULL,则此方法将alphaComponent(0.0-1.0之间)的当前值存储在* alpha中。
*/
- (void)getHue:(nullable CGFloat *)hue saturation:(nullable CGFloat *)saturation
brightness:(nullable CGFloat *)brightness alpha:(nullable CGFloat *)alpha;
/** 白色组件 */
@property(readonly) CGFloat whiteComponent;
/**
* @brief 返回颜色组件的值
*
* @param white 如果非NULL,则此方法将whiteComponent(0.0-1.0之间)的当前值存储在* white中。
* @param alpha 如果非NULL,则此方法将alphaComponent(0.0-1.0之间)的当前值存储在* alpha中。
*/
- (void)getWhite:(nullable CGFloat *)white alpha:(nullable CGFloat *)alpha;
/** 青色组件 */
@property(readonly) CGFloat cyanComponent;
/** 洋红色组件 */
@property(readonly) CGFloat magentaComponent;
/** 黄色组件 */
@property(readonly) CGFloat yellowComponent;
/** 黑色组件 */
@property(readonly) CGFloat blackComponent;
/**
* @brief 返回颜色组件的值
*
* @param cyan 如果非NULL,则此方法将cyanComponent(0.0-1.0之间)的当前值存储在* cyan中。
* @param magenta 如果非NULL,则此方法将magentaComponent(0.0-1.0之间)的当前值存储在* magenta中。
* @param yellow 如果非NULL,则此方法将yellowComponent(0.0-1.0之间)的当前值存储在* yellow中。
* @param black 如果非NULL,则此方法将blackComponent(0.0-1.0之间)的当前值存储在* black中。
* @param alpha 如果非NULL,则此方法将alphaComponent(0.0-1.0之间)的当前值存储在* alpha中。
*/
- (void)getCyan:(nullable CGFloat *)cyan magenta:(nullable CGFloat *)magenta
yellow:(nullable CGFloat *)yellow black:(nullable CGFloat *)black
alpha:(nullable CGFloat *)alpha;
/** 颜色空间 */
@property(readonly, strong) NSColorSpace *colorSpace;
/** 组件数 */
@property(readonly) NSInteger numberOfComponents;
/**
* @brief 返回颜色的组件值
*
* @param components 包含颜色组件值的数组,必须具有不少于numberOfComponents的条目。
*/
- (void)getComponents:(CGFloat *)components;
/** 图案图像 */
@property(readonly, strong) NSImage *patternImage;
/** Alpha值 */
@property(readonly) CGFloat alphaComponent;
/**
* @brief 从指定的粘贴板返回颜色
*
* @param pasteBoard 包含颜色数据的粘贴板。如果为nil,则此方法返回nil。
* @return 从粘贴板中提取的颜色。如果无法提取颜色,或者pasteBoard为nil,则此方法返回nil。
*/
+ (nullable NSColor *)colorFromPasteboard:(NSPasteboard *)pasteBoard;
/**
* @brief 将颜色写入指定的粘贴板
*
* @param pasteBoard 颜色要写入的粘贴板。
*/
- (void)writeToPasteboard:(NSPasteboard *)pasteBoard;
/**
* @brief 在给定矩形中绘制颜色样本
*
* @param rect 绘制样本的矩形
*/
- (void)drawSwatchInRect:(NSRect)rect;
/**
* @brief 使用给定Core Graphics颜色创建并返回新的NSColor对象
*
* @param cgColor 要用于新颜色的Core Graphics颜色
* @return 新的NSColor对象,由cgColor指定
*/
+ (nullable NSColor *)colorWithCGColor:(CGColorRef)cgColor API_AVAILABLE(macos(10.8));
/** Core Graphics颜色 */
@property(readonly) CGColorRef CGColor NS_RETURNS_INNER_POINTER API_AVAILABLE(macos(10.8));
/** 是否忽略Alpha通道 */
@property(class) BOOL ignoresAlpha;
@end
@interface NSColor (NSDeprecated)
/** 控件高亮颜色 */
@property(class, strong, readonly) NSColor *controlHighlightColor API_DEPRECATED("Use a color that matches the semantics being used, such as `separatorColor`", macos(10.0, 11.0));
/** 控件轻高亮颜色 */
@property(class, strong, readonly) NSColor *controlLightHighlightColor API_DEPRECATED("Use a color that matches the semantics being used, such as `separatorColor`", macos(10.0, 11.0));
/** 控件阴影颜色 */
@property(class, strong, readonly) NSColor *controlShadowColor API_DEPRECATED("Use a color that matches the semantics being used, such as `separatorColor`", macos(10.0, 11.0));
/** 控件深阴影颜色 */
@property(class, strong, readonly) NSColor *controlDarkShadowColor API_DEPRECATED("Use a color that matches the semantics being used, such as `separatorColor`", macos(10.0, 11.0));
/** 滚动条颜色 */
@property(class, strong, readonly) NSColor *scrollBarColor API_DEPRECATED("Use NSScroller instead", macos(10.0, 11.0));
/** 滑块颜色 */
@property(class, strong, readonly) NSColor *knobColor API_DEPRECATED("Use NSScroller instead", macos(10.0, 11.0));
/** 选中的滑块颜色 */
@property(class, strong, readonly) NSColor *selectedKnobColor API_DEPRECATED("Use NSScroller instead", macos(10.0, 11.0));
/** 窗口框架颜色 */
@property(class, strong, readonly) NSColor *windowFrameColor API_DEPRECATED("Use NSVisualEffectMaterialTitlebar", macos(10.0, 11.0));
/** 选中的菜单项颜色 */
@property(class, strong, readonly) NSColor *selectedMenuItemColor API_DEPRECATED("Use NSVisualEffectMaterialSelection", macos(10.0, 11.0));
/** 表头颜色 */
@property(class, strong, readonly) NSColor *headerColor API_DEPRECATED("Use NSVisualEffectMaterialHeaderView", macos(10.0, 11.0));
/** 次要选中控件颜色 */
@property(class, strong, readonly) NSColor *secondarySelectedControlColor API_DEPRECATED_WITH_REPLACEMENT("unemphasizedSelectedContentBackgroundColor", macos(10.1, 11.0));
/** 备用选中控件颜色 */
@property(class, strong, readonly) NSColor *alternateSelectedControlColor API_DEPRECATED_WITH_REPLACEMENT("selectedContentBackgroundColor", macos(10.2, 11.0));
/** 控件交替行背景颜色 */
@property(class, strong, readonly) NSArray<NSColor *> *controlAlternatingRowBackgroundColors API_DEPRECATED_WITH_REPLACEMENT("alternatingContentBackgroundColors", macos(10.3, 11.0));
/** 颜色空间名称 */
@property(readonly, copy) NSColorSpaceName colorSpaceName API_DEPRECATED("Use -type and NSColorType instead", macos(10.0,10.14));
/**
* @brief 返回使用指定颜色空间的新NSColor对象
*
* @param name 颜色空间名称,如果为nil,则使用设备的默认颜色空间。
* @param deviceDescription 设备描述字典,如果为nil,则使用当前设备。
* @return 使用指定颜色空间的新NSColor对象,或者如果无法转换颜色,则返回nil。
*/
- (nullable NSColor *)colorUsingColorSpaceName:(nullable NSColorSpaceName)name device:(nullable NSDictionary<NSDeviceDescriptionKey, id> *)deviceDescription API_DEPRECATED("Use -colorUsingType: or -colorUsingColorSpace: instead", macos(10.0,10.14));
/**
* @brief 返回使用指定颜色空间的新NSColor对象
*
* @param name 颜色空间名称,如果为nil,则使用设备的默认颜色空间。
* @return 使用指定颜色空间的新NSColor对象,或者如果无法转换颜色,则返回nil。
*/
- (nullable NSColor *)colorUsingColorSpaceName:(NSColorSpaceName)name API_DEPRECATED("Use -colorUsingType: or -colorUsingColorSpace: instead", macos(10.0,10.14));
@end
// 添加了一些与QuartzCore框架相关的方法。
@interface NSColor (NSQuartzCoreAdditions)
/**
* @brief 从指定的CI颜色创建并返回新的NSColor对象
*
* @param color 要用于新颜色的CI颜色
* @return 新的NSColor对象,由color指定
*/
+ (NSColor *)colorWithCIColor:(CIColor *)color;
@end
// 添加了一些与AppKit框架相关的方法。
@interface CIColor (NSAppKitAdditions)
/**
* @brief 使用指定颜色创建并返回新的NSColor对象
*
* @param color 要用于新颜色的颜色对象
* @return 新的NSColor对象,由color指定
*/
- (nullable instancetype)initWithColor:(NSColor *)color;
@end
@interface NSCoder(NSAppKitColorExtensions)
/**
* @brief 解码为NSColor对象
*
* @return 解码后的NSColor对象
*/
- (null_unspecified NSColor *)decodeNXColor API_DEPRECATED("", macos(10.0,10.9));
@end
// 系统颜色更改通知
APPKIT_EXTERN NSNotificationName NSSystemColorsDidChangeNotification;