自定义视图的UIAppearance

自定义视图的UIAppearance

💡 原文英文,约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覆盖自定义设置,需直接访问实例变量。

➡️

继续阅读