我可以通过UIAppearance代理设置哪些属性?

我可以通过UIAppearance代理设置哪些属性? 苹果的UIKit文档没有列出它们。 有没有这些属性的列表?

可以通过UIAppearance设置的属性在相应的头文件中用UI_APPEARANCE_SELECTOR标记。

要生成标记为UI_APPEARANCE_SELECTOR的属性列表,可以在terminal中使用以下unix命令:

 cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer‌​/SDKs/iPhoneOS5.1.sdk/System/Library/Frameworks/UIKit.framework/Headers grep -H UI_APPEARANCE_SELECTOR ./* | sed 's/ __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_5_0) UI_APPEARANCE_SELECTOR;//' 

这是我使用上述命令编译的一个列表。 这是为5.0 SDK。 为简洁起见,相应的getter方法已被省略。


UIActivityIndi​​catorView

 @property (readwrite, nonatomic, retain) UIColor *color 

的UIBarButtonItem

 @property(nonatomic,retain) UIColor *tintColor - (void)setBackgroundImage:(UIImage *)backgroundImage forState:(UIControlState)state barMetrics:(UIBarMetrics)barMetrics - (void)setBackgroundVerticalPositionAdjustment:(CGFloat)adjustment forBarMetrics:(UIBarMetrics)barMetrics - (void)setTitlePositionAdjustment:(UIOffset)adjustment forBarMetrics:(UIBarMetrics)barMetrics - (void)setBackButtonBackgroundImage:(UIImage *)backgroundImage forState:(UIControlState)state barMetrics:(UIBarMetrics)barMetrics - (void)setBackButtonTitlePositionAdjustment:(UIOffset)adjustment forBarMetrics:(UIBarMetrics)barMetrics - (void)setBackButtonBackgroundVerticalPositionAdjustment:(CGFloat)adjustment forBarMetrics:(UIBarMetrics)barMetrics [iOS 6.0] - (void)setBackgroundImage:(UIImage *)backgroundImage forState:(UIControlState)state style:(UIBarButtonItemStyle)style barMetrics:(UIBarMetrics)barMetrics [iOS 6.0] 

UIBarItem

 - (void)setTitleTextAttributes:(NSDictionary *)attributes forState:(UIControlState)state 

UINavigationBar的

 @property(nonatomic,retain) UIColor *tintColor @property(nonatomic,copy) NSDictionary *titleTextAttributes - (void)setBackgroundImage:(UIImage *)backgroundImage forBarMetrics:(UIBarMetrics)barMetrics - (void)setTitleVerticalPositionAdjustment:(CGFloat)adjustment forBarMetrics:(UIBarMetrics)barMetrics [iOS 6.0] @property(nonatomic,retain) UIImage *shadowImage [iOS 7.0] @property(nonatomic,retain) UIColor *barTintColor - (void)setBackgroundImage:(UIImage *)backgroundImage forBarPosition:(UIBarPosition)barPosition barMetrics:(UIBarMetrics)barMetrics - (UIImage *)backgroundImageForBarPosition:(UIBarPosition)barPosition barMetrics:(UIBarMetrics)barMetrics @property(nonatomic,retain) UIImage *backIndicatorImage @property(nonatomic,retain) UIImage *backIndicatorTransitionMaskImage 

UIPageControl

 [iOS 6.0] @property(nonatomic,retain) UIColor *pageIndicatorTintColor @property(nonatomic,retain) UIColor *currentPageIndicatorTintColor 

UIProgressView

 @property(nonatomic, retain) UIColor* progressTintColor @property(nonatomic, retain) UIColor* trackTintColor @property(nonatomic, retain) UIImage* progressImage @property(nonatomic, retain) UIImage* trackImage 

UIRefreshControl

 [iOS 6.0] @property (nonatomic, retain) UIColor *tintColor @property (nonatomic, retain) NSAttributedString *attributedTitle 

的UISearchBar

 @property(nonatomic,retain) UIImage *backgroundImage @property(nonatomic,retain) UIImage *scopeBarBackgroundImage @property(nonatomic) UIOffset searchFieldBackgroundPositionAdjustment @property(nonatomic) UIOffset searchTextPositionAdjustment - (void)setSearchFieldBackgroundImage:(UIImage *)backgroundImage forState:(UIControlState)state - (void)setImage:(UIImage *)iconImage forSearchBarIcon:(UISearchBarIcon)icon state:(UIControlState)state - (void)setScopeBarButtonBackgroundImage:(UIImage *)backgroundImage forState:(UIControlState)state - (void)setScopeBarButtonDividerImage:(UIImage *)dividerImage forLeftSegmentState:(UIControlState)leftState rightSegmentState:(UIControlState)rightState - (void)setScopeBarButtonTitleTextAttributes:(NSDictionary *)attributes forState:(UIControlState)state - (void)setPositionAdjustment:(UIOffset)adjustment forSearchBarIcon:(UISearchBarIcon)icon [iOS 7.0] @property(nonatomic,retain) UIColor *barTintColor - (void)setBackgroundImage:(UIImage *)backgroundImage forBarPosition:(UIBarPosition)barPosition barMetrics:(UIBarMetrics)barMetrics - (UIImage *)backgroundImageForBarPosition:(UIBarPosition)barPosition barMetrics:(UIBarMetrics)barMetrics 

UISegmentedControl

 @property(nonatomic,retain) UIColor *tintColor UI_APPEARANCE_SELECTOR; - (void)setBackgroundImage:(UIImage *)backgroundImage forState:(UIControlState)state barMetrics:(UIBarMetrics)barMetrics - (void)setDividerImage:(UIImage *)dividerImage forLeftSegmentState:(UIControlState)leftState rightSegmentState:(UIControlState)rightState barMetrics:(UIBarMetrics)barMetrics - (void)setTitleTextAttributes:(NSDictionary *)attributes forState:(UIControlState)state - (void)setContentPositionAdjustment:(UIOffset)adjustment forSegmentType:(UISegmentedControlSegment)leftCenterRightOrAlone barMetrics:(UIBarMetrics)barMetrics 

UISlider

 @property(nonatomic,retain) UIColor *minimumTrackTintColor @property(nonatomic,retain) UIColor *maximumTrackTintColor @property(nonatomic,retain) UIColor *thumbTintColor 

UIStepper

 [iOS 6.0] @property(nonatomic,retain) UIColor *tintColor - (void)setBackgroundImage:(UIImage*)image forState:(UIControlState)state - (void)setDividerImage:(UIImage*)image forLeftSegmentState:(UIControlState)leftState rightSegmentState:(UIControlState)rightState - (void)setIncrementImage:(UIImage *)image forState:(UIControlState)state - (void)setDecrementImage:(UIImage *)image forState:(UIControlState)state 

UISwitch

 @property(nonatomic, retain) UIColor* onTintColor [iOS 6.0] @property(nonatomic, retain) UIColor *tintColor @property(nonatomic, retain) UIColor *thumbTintColor @property(nonatomic, retain) UIImage *onImage @property(nonatomic, retain) UIImage *offImage 

UITabBar

 @property(nonatomic,retain) UIColor *tintColor @property(nonatomic,retain) UIColor *selectedImageTintColor @property(nonatomic,retain) UIImage *backgroundImage @property(nonatomic,retain) UIImage *selectionIndicatorImage [iOS 6.0] @property(nonatomic,retain) UIImage *shadowImage [iOS 7.0] @property(nonatomic,retain) UIColor *barTintColor @property(nonatomic) UITabBarItemPositioning itemPositioning @property(nonatomic) CGFloat itemWidth @property(nonatomic) CGFloat itemSpacing @property(nonatomic) UIBarStyle barStyle 

UITabBarItem

 - (void)setTitlePositionAdjustment:(UIOffset)adjustment 

UITableView的

 [iOS 6.0] @property(nonatomic, retain) UIColor *sectionIndexColor @property(nonatomic, retain) UIColor *sectionIndexTrackingBackgroundColor [iOS 7.0] @property (nonatomic) UIEdgeInsets separatorInset @property(nonatomic, retain) UIColor *sectionIndexBackgroundColor 

的UITableViewCell

 [iOS 7.0] @property (nonatomic) UIEdgeInsets separatorInset 

UITableViewHeaderFooterView

 [iOS 6.0] @property(nonatomic, retain) UIColor *tintColor 

UIToolbar

 @property(nonatomic,retain) UIColor *tintColor; - (void)setBackgroundImage:(UIImage *)backgroundImage forToolbarPosition:(UIToolbarPosition)topOrBottom barMetrics:(UIBarMetrics)barMetrics [iOS 6.0] - (void)setShadowImage:(UIImage *)shadowImage forToolbarPosition:(UIToolbarPosition)topOrBottom [iOS 7.0] @property(nonatomic,retain) UIColor *barTintColor 

(2012年7月3日) :这个列表直到最新版本的XCode(4.3.3)都没有改变。


(2013年3月12日) :更新了SDK 6.1的列表。 适用于iOS 6.0(或更高版本)的属性列在[iOS 6.0]标签下。


(2013年10月24日) :更新了SDK 7.0的列表。 适用于iOS 7.0(或更高版本)的属性列在[iOS 7.0]标签下。