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。