首页 > 其他分享 >Mac开发_NSColor

Mac开发_NSColor

时间:2023-04-20 11:34:49浏览次数:23  
标签:颜色 NSColor readonly param Mac 开发 property CGFloat

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;

标签:颜色,NSColor,readonly,param,Mac,开发,property,CGFloat
From: https://www.cnblogs.com/CH520/p/17336161.html

相关文章

  • GZ038 物联网应用开发赛题第3套 windows 维护
    任务要求:Windows超级管理员账号administrator拥有权限高,容易被有心人用穷举法密码破解,我们可以利用组策略对administrator账号进行改名。默认情况下,Windows有很多端口是开放的,这些开放的端口会带来很大的安全隐患,比如一些流行病毒的后门端口(TCP2745端口等)。我们可以利用IP安......
  • GZ038 物联网应用开发赛题第2套 windows维护
    任务要求:利用组策略达到禁止别人改动桌面某些设置的目的,将下面组策略设置界面截屏,在截图中红圈圈出修改项,截图另存为A-14-1.jpg。防止用户更改“我的文档”文件夹的路径。     阻止用户从桌面上添加或删除任务栏。     用户退出时不保存对桌面的更改。 ......
  • GZ038 物联网应用开发赛题第1套 windows 维护
    ------------恢复内容开始------------任务要求:安全审核是Windows最基本的入侵检测方法,当有人尝试对系统进行某种方式入侵的时候(如尝试用户密码,改变帐户策略和未经许可的文件访问等等),都会被安全审核记录下来。利用组策略开启的审核方法如下:审核策略更改:成功,失败。审核......
  • mac常用命令
    MacOSX是基于Unix操作系统的,因此它与其他Unix操作系统共享许多常用命令和高级命令。以下是一些常用命令和高级命令的说明:常用命令:1.cd:改变当前工作目录。2.ls:显示当前目录下的文件和文件夹。3.mkdir:创建一个新目录。4.rm:删除文件或目录。5.cp:复制文件或目......
  • CDGA敏捷开发的12个原则在企业数据治理中的应用
    敏捷数据治理,就是用敏捷的核心思想来管理数据,实现数据的持续、高质量交付,以应对业务的不断变化。敏捷开发的12个原则如下:原则1:尽早并持续的交付有价值的软件以满足客户需求。对数据治理来讲,如何让业务快速拿到想要的数据是需要重点考虑的问题。业务人员应当参与数据需求分析,甚至取......
  • 作为开发者,我们可以 “free”的下载、使用 Redhat Enterprise Linux (RHEL\rhel) ,挺
     通常,如果作为普通客户(redhat假定如此)去redhat的官方网站下载rhel,都是很繁琐的,甚至是不可能的。但是,当我们作为普通开发者则可以非常"free”的去redat的官方网站下载rhel! -----------------------------------------------------------------------不讲道德与法律层面......
  • Solon v2.2.12 发布,Java 应用开发框架
    Solon是一个高效的Java应用开发框架:更快、更小、更简单。它不是Spring、没有使用Servlet、JavaEE接口,是一个有自己接口标准的开放生态:150多个生态插件,可以满足各种场景开发大量的国产框架适配,可以为应用软件国产化提供更好支持,助力信创建设相对于SpringBoot和Sprin......
  • 【Linux】基础开发工具使用 --- vim
    目录前言vim的基本概念具体操作插入模式命令模式下的指令底行模式下的指令vim的配置前言......
  • mac使用Stable Diffusion基础篇
    准备工作提前安装git.python等必要工具 1、git拉取WebUI仓库 gitclonehttps://github.com/AUTOMATIC1111/stable-diffusion-webui2、下载StableDiffusionModelshttps://huggingface.co/CompVis/stable-diffusion-v-1-4-original  3、启动下载完成后,把下载的s......
  • odoo 开发入门教程系列-准备一些操作(Action)?
    准备一些操作(Action)?到目前为止,我们主要通过声明字段和视图来构建模块。在任何真实的业务场景中,我们都希望将一些业务逻辑链接到操作按钮。在我们的房地产示例中,我们希望能够:取消或将房产设置为已售出接受或拒绝报价有人可能会说,我们已经可以通过手动更改状态来完成这些事情,但这并......