UIVisualEffect(QMUITheme)

@interface UIVisualEffect (QMUITheme) <QMUIDynamicEffectProtocol>

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

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

Undocumented

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

    Declaration

    Objective-C

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

    Swift

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

    Parameters

    provider

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

    Return Value

    一个动态的 UIVisualEffect 对象,被使用时才会返回实际的 effect 效果

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

    Declaration

    Objective-C

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

    Swift

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

    Parameters

    name

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

    provider

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

    Return Value

    一个动态的 UIVisualEffect 对象,被使用时才会返回实际的 effect 效果