http://www.cnblogs.com/salam/archive/2013/01/30/appearance.html
appearance是apple在iOS5.0上加的一個協議,它讓程序員可以很輕鬆地改變某控件的全局樣式(背景)
@selector(appearance)
支持UIAppearance協議的類可以訪問appearance selector ,它爲receiver返回appearance proxy,我麼可以給proxy發一些消息,諸如setTintColor:等
但是它並不是支持所有的UI類。下面列出它支持的類
1.UIActivitiIndicatorView
2.UIBarButtonItem
3.UIBarItem
4.UINavgationBar
5.UIPopoverControll
6.UIProgressView
7.UISearchBar
8.UISegmentControll
9.UISlider
10.UISwitch
11.UITabBar
12.UITabBarItem
13.UIToolBar
14.UIView
15.UIViewController
例如:
[[UINavigationBarappearance] setTintColor:[UIColorblackColor]];
[[UISearchBarappearance] setTintColor:[UIColorblackColor]];
注意:
初學者肯定會任意調用方法,大部分方法時無效的,如果調用時會拋出unknown selector 異常
那麼如何查看你調用的方法時有效的呢,我們可以在此類的頭文件中查看包含“UI_APPEARANCE_SELECTOR”常量的方法。
例如UIToolBar
它支持下列方法
@property(nonatomic,retain) UIColor *tintColor UI_APPEARANCE_SELECTOR;
- (void)setBackgroundImage:(UIImage *)backgroundImage forToolbarPosition:(UIToolbarPosition)topOrBottom barMetrics:(UIBarMetrics)barMetrics NS_AVAILABLE_IOS(5_0) UI_APPEARANCE_SELECTOR;
- (UIImage *)backgroundImageForToolbarPosition:(UIToolbarPosition)topOrBottom barMetrics:(UIBarMetrics)barMetrics NS_AVAILABLE_IOS(5_0) UI_APPEARANCE_SELECTOR;
- (void)setShadowImage:(UIImage *)shadowImage forToolbarPosition:(UIToolbarPosition)topOrBottom NS_AVAILABLE_IOS(6_0) UI_APPEARANCE_SELECTOR;
- (UIImage *)shadowImageForToolbarPosition:(UIToolbarPosition)topOrBottom NS_AVAILABLE_IOS(6_0) UI_APPEARANCE_SELECTOR;
瞭解更多請訪問:http://developer.apple.com/library/ios/#documentation/uikit/reference/UIAppearance_Protocol/Reference/Reference.html。