💡
原文英文,约800词,阅读约需3分钟。
📝
内容提要
UIAppearance技术自2011年WWDC首次推出,主要用于UIView子类,允许通过UIAppearance代理设置属性。使用时需注意在初始化时直接访问实例变量,以避免UIAppearance覆盖自定义设置。iOS 8后,BOOL类型也支持UIAppearance。
🎯
关键要点
- UIAppearance技术于2011年WWDC首次推出,主要用于UIView子类。
- 使用UIAppearance时,需在初始化时直接访问实例变量,以避免覆盖自定义设置。
- UIAppearance的预处理宏定义为空,添加UI_APPEARANCE_SELECTOR到属性中以支持UIAppearance。
- UIAppearance在视图添加到窗口之前应用属性,主要用于UIView子类,某些类如UIBarItem有自定义外观代理。
- 在初始化器中使用setter会导致UIAppearance覆盖自定义设置,需直接访问实例变量。
- iOS 8后,BOOL类型也支持UIAppearance。
❓
延伸问答
UIAppearance技术是什么时候首次推出的?
UIAppearance技术于2011年WWDC首次推出。
使用UIAppearance时需要注意什么?
在初始化时需直接访问实例变量,以避免UIAppearance覆盖自定义设置。
如何使自定义UIView子类支持UIAppearance?
在属性中添加UI_APPEARANCE_SELECTOR宏定义,以支持UIAppearance。
UIAppearance如何处理UIView子类的属性?
UIAppearance在视图添加到窗口之前应用属性,主要用于UIView子类。
iOS 8之后,UIAppearance对BOOL类型的支持情况如何?
iOS 8后,BOOL类型也支持UIAppearance。
在UIView子类的初始化器中使用setter会有什么问题?
使用setter会导致UIAppearance覆盖自定义设置,需直接访问实例变量。
➡️