QMUIDynamicColorProtocol
@protocol QMUIDynamicColorProtocol <NSObject>
@required
/// 获取当前 color 的实际颜色(返回的颜色必定不是 dynamic color)
@property(nonatomic, strong, readonly) UIColor *qmui_rawColor;
/// 标志当前 UIColor 对象是否为动态颜色(由 [UIColor qmui_colorWithThemeProvider:] 创建的颜色,或者 iOS 13 下由 [UIColor colorWithDynamicProvider:]、[UIColor initWithDynamicProvider:] 创建的颜色)
@property(nonatomic, assign, readonly) BOOL qmui_isDynamicColor;
/// 标志当前 UIColor 对象是否为 QMUIThemeColor
@property(nonatomic, assign, readonly) BOOL qmui_isQMUIDynamicColor;
@optional
/// 这方法其实是 iOS 13 新增的 UIDynamicColor 里的私有方法,只要任意 UIColor 的类实现这个方法并返回 YES,就能自动响应 iOS 13 下的 UIUserInterfaceStyle 的切换,这里在 protocol 里声明是为了方便 .m 里调用(否则会因为不存在的 selector 而无法编译)
@property(nonatomic, assign, readonly) BOOL _isDynamic;
@end
Undocumented
-
获取当前 color 的实际颜色(返回的颜色必定不是 dynamic color)
Declaration
Objective-C
@required @property (nonatomic, strong, readonly) UIColor *_Nonnull qmui_rawColor;
Swift
var qmui_rawColor: UIColor { get }
-
标志当前 UIColor 对象是否为动态颜色(由 [UIColor qmui_colorWithThemeProvider:] 创建的颜色,或者 iOS 13 下由 [UIColor colorWithDynamicProvider:]、[UIColor initWithDynamicProvider:] 创建的颜色)
Declaration
Objective-C
@required @property (nonatomic, assign, unsafe_unretained, readonly) BOOL qmui_isDynamicColor;
Swift
var qmui_isDynamicColor: Bool { get }
-
标志当前 UIColor 对象是否为 QMUIThemeColor
Declaration
Objective-C
@required @property (nonatomic, assign, unsafe_unretained, readonly) BOOL qmui_isQMUIDynamicColor;
Swift
var qmui_isQMUIDynamicColor: Bool { get }
-
这方法其实是 iOS 13 新增的 UIDynamicColor 里的私有方法,只要任意 UIColor 的类实现这个方法并返回 YES,就能自动响应 iOS 13 下的 UIUserInterfaceStyle 的切换,这里在 protocol 里声明是为了方便 .m 里调用(否则会因为不存在的 selector 而无法编译)
Declaration
Objective-C
@optional @property (nonatomic, assign, unsafe_unretained, readonly) BOOL _isDynamic;
Swift
optional var _isDynamic: Bool { get }