UIColor(FWTheme)

@interface UIColor (FWTheme)

/// 动态创建主题色,分别指定浅色和深色
+ (UIColor *)fw_themeLight:(UIColor *)light dark:(UIColor *)dark NS_REFINED_FOR_SWIFT;

/// 动态创建主题色,指定提供句柄
+ (UIColor *)fw_themeColor:(UIColor * (^)(FWThemeStyle style))provider NS_REFINED_FOR_SWIFT;

/// 动态创建主题色,指定名称,兼容iOS11+系统方式(仅iOS13+支持动态颜色)和手工指定。失败时返回clear防止崩溃
+ (UIColor *)fw_themeNamed:(NSString *)name NS_REFINED_FOR_SWIFT;

/// 动态创建主题色,指定名称和bundle,兼容iOS11+系统方式(仅iOS13+支持动态颜色)和手工指定。失败时返回clear防止崩溃
+ (UIColor *)fw_themeNamed:(NSString *)name bundle:(nullable NSBundle *)bundle NS_REFINED_FOR_SWIFT;

/// 手工单个注册主题色,未配置主题色或者需兼容iOS11以下时可使用本方式
+ (void)fw_setThemeColor:(nullable UIColor *)color forName:(NSString *)name NS_REFINED_FOR_SWIFT;

/// 手工批量注册主题色,未配置主题色或者需兼容iOS11以下时可使用本方式
+ (void)fw_setThemeColors:(NSDictionary<NSString *, UIColor *> *)nameColors NS_REFINED_FOR_SWIFT;

/// 获取当前主题样式对应静态颜色,主要用于iOS13以下兼容主题切换
@property (nonatomic, readonly) UIColor *fw_color NS_SWIFT_NAME(__fw_color) NS_REFINED_FOR_SWIFT;

/// 指定主题样式获取对应静态颜色,iOS13+可跟随系统改变
- (UIColor *)fw_colorForStyle:(FWThemeStyle)style NS_REFINED_FOR_SWIFT;

/// 是否是主题颜色,仅支持判断使用fwTheme创建的颜色
@property (nonatomic, assign, readonly) BOOL fw_isThemeColor NS_REFINED_FOR_SWIFT;

@end

Undocumented

  • 动态创建主题色,分别指定浅色和深色

    Declaration

    Objective-C

    + (nonnull UIColor *)fw_themeLight:(nonnull UIColor *)light
                                  dark:(nonnull UIColor *)dark;
  • 动态创建主题色,指定提供句柄

    Declaration

    Objective-C

    + (nonnull UIColor *)fw_themeColor:
        (nonnull UIColor *_Nonnull (^)(FWThemeStyle))provider;
  • 动态创建主题色,指定名称,兼容iOS11+系统方式(仅iOS13+支持动态颜色)和手工指定。失败时返回clear防止崩溃

    Declaration

    Objective-C

    + (nonnull UIColor *)fw_themeNamed:(nonnull NSString *)name;
  • 动态创建主题色,指定名称和bundle,兼容iOS11+系统方式(仅iOS13+支持动态颜色)和手工指定。失败时返回clear防止崩溃

    Declaration

    Objective-C

    + (nonnull UIColor *)fw_themeNamed:(nonnull NSString *)name
                                bundle:(nullable NSBundle *)bundle;
  • 手工单个注册主题色,未配置主题色或者需兼容iOS11以下时可使用本方式

    Declaration

    Objective-C

    + (void)fw_setThemeColor:(nullable UIColor *)color
                     forName:(nonnull NSString *)name;
  • 手工批量注册主题色,未配置主题色或者需兼容iOS11以下时可使用本方式

    Declaration

    Objective-C

    + (void)fw_setThemeColors:
        (nonnull NSDictionary<NSString *, UIColor *> *)nameColors;
  • 获取当前主题样式对应静态颜色,主要用于iOS13以下兼容主题切换

    Declaration

    Objective-C

    @property (nonatomic, readonly) NS_SWIFT_NAME(__fw_color) UIColor *fw_color;
  • 指定主题样式获取对应静态颜色,iOS13+可跟随系统改变

    Declaration

    Objective-C

    - (nonnull UIColor *)fw_colorForStyle:(FWThemeStyle)style;
  • 是否是主题颜色,仅支持判断使用fwTheme创建的颜色

    Declaration

    Objective-C

    @property (nonatomic, readonly) BOOL fw_isThemeColor;