iOS5及其以后提供了一个比较强大的工具UIAppearance,我们通过UIAppearance设置一些UI的全局效果,这样就可以很方便的实现UI的自定义效果又能最简单的实现统一界面风格,它提供如下两个方法。
********
使用UIAppearance条件
1、只有遵守了UIAppearance协议,还要实现这个方法的
2、哪些属性可以通过appearance设置,只有被UI_APPEARANCE_SELECTOR的宏修饰的属性,才能设置。
********
+ (id)appearance
这个方法是统一全部改,比如你设置UINavBar的tintColor,你可以这样写:[[UINavigationBar appearance] setTintColor:myColor];
+ (id)appearanceWhenContainedIn:(Class <>)ContainerClass,...
这个方法可设置某个类的改变:例如:设置UIBarButtonItem 在UINavigationBar、UIPopoverController、UITabbar中的效果。就可以这样写
[[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], [UIPopoverController class],[UITabbar class] nil] setTintColor:myPopoverNavBarColor];
请注意******
使用appearance设置UI效果最好采用全局的设置,在所有界面初始化前开始设置,否则可能失效(appearance只能在控件显示之前设置,才有作用)
利用其统一改变特性 可以在设置夜间模式时用appearance
网友评论