在iOS 5以前,自定义原生控件的外观并没有原生支持,因此开发人员感觉很麻烦.开发人员经常面临的问题是修改一个控件所有实例的外观.解决这个问题的正确方法是重写一遍控件.但由于这么做非常费时,一些开发人员开始覆盖或混写一些方法,如drawRect:. 从iOS 5开始,苹果通过两个协议(UIAppearance和UIAppearanceContainer)规范了对许多UIKit控件定制的支持.所有遵循UIAppearance协议的UI控件通过定制都可以呈现各种外观.不仅如此,UIAppearanc…