UIColor(QMUITheme)

@interface UIColor (QMUITheme)

/**
 生成一个动态的 color 对象,每次使用该颜色时都会动态根据当前的 QMUIThemeManager 主题返回对应的颜色。
 @param provider 当 color 被使用时,这个 provider 会被调用,返回对应当前主题的 color 值。请不要在这个 block 里做耗时操作。
 @return 当前主题下的实际色值,由 provider 返回
 */
+ (UIColor *)qmui_colorWithThemeProvider:(UIColor *(^)(__kindof QMUIThemeManager *manager, __kindof NSObject<NSCopying> * _Nullable identifier, __kindof NSObject * _Nullable theme))provider;

/**
 生成一个动态的 color 对象,每次使用该颜色时都会动态根据当前的 QMUIThemeManager name 和主题返回对应的颜色。
 @param name themeManager 的 name,用于区分不同维度的主题管理器
 @param provider 当 color 被使用时,这个 provider 会被调用,返回对应当前主题的 color 值。请不要在这个 block 里做耗时操作。
 @return 当前主题下的实际色值,由 provider 返回
*/
+ (UIColor *)qmui_colorWithThemeManagerName:(__kindof NSObject<NSCopying> *)name provider:(UIColor *(^)(__kindof QMUIThemeManager *manager, __kindof NSObject<NSCopying> * _Nullable identifier, __kindof NSObject * _Nullable theme))provider;

@end

Undocumented

  • 生成一个动态的 color 对象,每次使用该颜色时都会动态根据当前的 QMUIThemeManager 主题返回对应的颜色。

    Declaration

    Objective-C

    + (nonnull UIColor *)qmui_colorWithThemeProvider:
        (nonnull UIColor *_Nonnull (^)(__kindof QMUIThemeManager *_Nonnull,
                                       __kindof NSObject<NSCopying> *_Nullable,
                                       __kindof NSObject *_Nullable))provider;

    Swift

    class func qmui_color(themeProvider provider: @escaping (QMUIThemeManager, (NSCopying & NSObjectProtocol)?, NSObject?) -> UIColor) -> UIColor

    Parameters

    provider

    当 color 被使用时,这个 provider 会被调用,返回对应当前主题的 color 值。请不要在这个 block 里做耗时操作。

    Return Value

    当前主题下的实际色值,由 provider 返回

  • 生成一个动态的 color 对象,每次使用该颜色时都会动态根据当前的 QMUIThemeManager name 和主题返回对应的颜色。

    Declaration

    Objective-C

    + (nonnull UIColor *)
        qmui_colorWithThemeManagerName:(nonnull __kindof NSObject<NSCopying> *)name
                              provider:(nonnull UIColor *_Nonnull (^)(
                                           __kindof QMUIThemeManager *_Nonnull,
                                           __kindof NSObject<NSCopying> *_Nullable,
                                           __kindof NSObject *_Nullable))provider;

    Swift

    class func qmui_color(withThemeManagerName name: NSCopying & NSObjectProtocol, provider: @escaping (QMUIThemeManager, (NSCopying & NSObjectProtocol)?, NSObject?) -> UIColor) -> UIColor

    Parameters

    name

    themeManager 的 name,用于区分不同维度的主题管理器

    provider

    当 color 被使用时,这个 provider 会被调用,返回对应当前主题的 color 值。请不要在这个 block 里做耗时操作。

    Return Value

    当前主题下的实际色值,由 provider 返回