Create a gist now

Instantly share code, notes, and snippets.

Embed
What would you like to do?
A list of methods and properties conforming to `UIAppearance` as of iOS 12 Beta 3

Generate the list yourself:

$ cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS*.sdk/System/Library/Frameworks/UIKit.framework/Headers
$ grep UI_APPEARANCE_SELECTOR ./*     | \
  sed 's/NS_AVAILABLE_IOS(.*)//g'     | \
  sed 's/NS_DEPRECATED_IOS(.*)//g'    | \
  sed 's/API_AVAILABLE(.*)//g'        | \
  sed 's/API_UNAVAILABLE(.*)//g'      | \
  sed 's/UI_APPEARANCE_SELECTOR//g'   | \
  sed 's/__TVOS_PROHIBITED//g'        | \
  sed 's/@property (/@property(/g'    | \
  awk -F"\.h:"                          \
      'BEGIN {
          print "# UIAppearance Selectors\n"
       }
       $1!= header && NR > 1 {
           print "```"
       };
       $1!= header {
           print "\n## " $1 "\n\n```objc"
       };
       header = $1;
       END {
           print "```\n"
       }'                             | \
  sed 's/## .\//## /g'                | \
  sed 's/.*\.h://g'                   | \
  sed 's/[ ]\{2,\}/ /g'               | \
  sed 's/[ ]*;/;/g'                   | \
  sed 's/ \/\/.*$//'

UIAppearance Selectors

UIActivityIndicatorView

@property(nullable, readwrite, nonatomic, strong) UIColor *color;

UIAppearance

/* To participate in the appearance proxy API, tag your appearance property selectors in your header with .
#define __attribute__((annotate("ui_appearance_selector")))

UIBarButtonItem

- (void)setBackgroundImage:(nullable UIImage *)backgroundImage forState:(UIControlState)state barMetrics:(UIBarMetrics)barMetrics;
- (nullable UIImage *)backgroundImageForState:(UIControlState)state barMetrics:(UIBarMetrics)barMetrics;
- (void)setBackgroundImage:(nullable UIImage *)backgroundImage forState:(UIControlState)state style:(UIBarButtonItemStyle)style barMetrics:(UIBarMetrics)barMetrics;
- (nullable UIImage *)backgroundImageForState:(UIControlState)state style:(UIBarButtonItemStyle)style barMetrics:(UIBarMetrics)barMetrics;
- (void)setBackgroundVerticalPositionAdjustment:(CGFloat)adjustment forBarMetrics:(UIBarMetrics)barMetrics; 
- (CGFloat)backgroundVerticalPositionAdjustmentForBarMetrics:(UIBarMetrics)barMetrics;
- (void)setTitlePositionAdjustment:(UIOffset)adjustment forBarMetrics:(UIBarMetrics)barMetrics; 
- (UIOffset)titlePositionAdjustmentForBarMetrics:(UIBarMetrics)barMetrics;
- (void)setBackButtonBackgroundImage:(nullable UIImage *)backgroundImage forState:(UIControlState)state barMetrics:(UIBarMetrics)barMetrics;
- (nullable UIImage *)backButtonBackgroundImageForState:(UIControlState)state barMetrics:(UIBarMetrics)barMetrics;
- (void)setBackButtonTitlePositionAdjustment:(UIOffset)adjustment forBarMetrics:(UIBarMetrics)barMetrics;
- (UIOffset)backButtonTitlePositionAdjustmentForBarMetrics:(UIBarMetrics)barMetrics;
- (void)setBackButtonBackgroundVerticalPositionAdjustment:(CGFloat)adjustment forBarMetrics:(UIBarMetrics)barMetrics;
- (CGFloat)backButtonBackgroundVerticalPositionAdjustmentForBarMetrics:(UIBarMetrics)barMetrics;

UIBarItem

- (void)setTitleTextAttributes:(nullable NSDictionary<NSAttributedStringKey,id> *)attributes forState:(UIControlState)state;
- (nullable NSDictionary<NSString *,id> *)titleTextAttributesForState:(UIControlState)state;

UIButton

@property(nonatomic) UIEdgeInsets contentEdgeInsets;
- (void)setTitleColor:(nullable UIColor *)color forState:(UIControlState)state;
- (void)setTitleShadowColor:(nullable UIColor *)color forState:(UIControlState)state;
- (void)setBackgroundImage:(nullable UIImage *)image forState:(UIControlState)state;

UINavigationBar

@property(nonatomic,assign) UIBarStyle barStyle;
@property(nonatomic,assign,getter=isTranslucent) BOOL translucent;
@property(nonatomic, readwrite, assign) BOOL prefersLargeTitles;
@property(nullable, nonatomic,strong) UIColor *barTintColor;
- (void)setBackgroundImage:(nullable UIImage *)backgroundImage forBarPosition:(UIBarPosition)barPosition barMetrics:(UIBarMetrics)barMetrics;
- (nullable UIImage *)backgroundImageForBarPosition:(UIBarPosition)barPosition barMetrics:(UIBarMetrics)barMetrics;
- (void)setBackgroundImage:(nullable UIImage *)backgroundImage forBarMetrics:(UIBarMetrics)barMetrics;
- (nullable UIImage *)backgroundImageForBarMetrics:(UIBarMetrics)barMetrics;
@property(nullable, nonatomic,strong) UIImage *shadowImage;
@property(nullable,nonatomic,copy) NSDictionary<NSAttributedStringKey, id> *titleTextAttributes;
@property(nullable, nonatomic, copy) NSDictionary<NSAttributedStringKey, id> *largeTitleTextAttributes;
- (void)setTitleVerticalPositionAdjustment:(CGFloat)adjustment forBarMetrics:(UIBarMetrics)barMetrics;
- (CGFloat)titleVerticalPositionAdjustmentForBarMetrics:(UIBarMetrics)barMetrics;
@property(nullable,nonatomic,strong) UIImage *backIndicatorImage;
@property(nullable,nonatomic,strong) UIImage *backIndicatorTransitionMaskImage;

UIPageControl

@property(nullable, nonatomic,strong) UIColor *pageIndicatorTintColor;
@property(nullable, nonatomic,strong) UIColor *currentPageIndicatorTintColor;

UIProgressView

@property(nonatomic, strong, nullable) UIColor* progressTintColor;
@property(nonatomic, strong, nullable) UIColor* trackTintColor;
@property(nonatomic, strong, nullable) UIImage* progressImage;
@property(nonatomic, strong, nullable) UIImage* trackImage;

UIRefreshControl

@property(nullable, nonatomic, strong) NSAttributedString *attributedTitle;

UISearchBar

@property(nullable, nonatomic,strong) UIColor *barTintColor;
@property(nullable, nonatomic,strong) UIImage *backgroundImage;
@property(nullable, nonatomic,strong) UIImage *scopeBarBackgroundImage;
- (void)setBackgroundImage:(nullable UIImage *)backgroundImage forBarPosition:(UIBarPosition)barPosition barMetrics:(UIBarMetrics)barMetrics;
- (nullable UIImage *)backgroundImageForBarPosition:(UIBarPosition)barPosition barMetrics:(UIBarMetrics)barMetrics;
- (void)setSearchFieldBackgroundImage:(nullable UIImage *)backgroundImage forState:(UIControlState)state;
- (nullable UIImage *)searchFieldBackgroundImageForState:(UIControlState)state;
- (void)setImage:(nullable UIImage *)iconImage forSearchBarIcon:(UISearchBarIcon)icon state:(UIControlState)state;
- (nullable UIImage *)imageForSearchBarIcon:(UISearchBarIcon)icon state:(UIControlState)state;
- (void)setScopeBarButtonBackgroundImage:(nullable UIImage *)backgroundImage forState:(UIControlState)state; 
- (nullable UIImage *)scopeBarButtonBackgroundImageForState:(UIControlState)state;
- (void)setScopeBarButtonDividerImage:(nullable UIImage *)dividerImage forLeftSegmentState:(UIControlState)leftState rightSegmentState:(UIControlState)rightState;
- (nullable UIImage *)scopeBarButtonDividerImageForLeftSegmentState:(UIControlState)leftState rightSegmentState:(UIControlState)rightState;
- (void)setScopeBarButtonTitleTextAttributes:(nullable NSDictionary<NSString *, id> *)attributes forState:(UIControlState)state;
- (nullable NSDictionary<NSString *, id> *)scopeBarButtonTitleTextAttributesForState:(UIControlState)state;
@property(nonatomic) UIOffset searchFieldBackgroundPositionAdjustment;
@property(nonatomic) UIOffset searchTextPositionAdjustment;
- (void)setPositionAdjustment:(UIOffset)adjustment forSearchBarIcon:(UISearchBarIcon)icon;
- (UIOffset)positionAdjustmentForSearchBarIcon:(UISearchBarIcon)icon;

UISegmentedControl

- (void)setBackgroundImage:(nullable UIImage *)backgroundImage forState:(UIControlState)state barMetrics:(UIBarMetrics)barMetrics; 
- (nullable UIImage *)backgroundImageForState:(UIControlState)state barMetrics:(UIBarMetrics)barMetrics;
- (void)setDividerImage:(nullable UIImage *)dividerImage forLeftSegmentState:(UIControlState)leftState rightSegmentState:(UIControlState)rightState barMetrics:(UIBarMetrics)barMetrics;
- (nullable UIImage *)dividerImageForLeftSegmentState:(UIControlState)leftState rightSegmentState:(UIControlState)rightState barMetrics:(UIBarMetrics)barMetrics;
- (void)setTitleTextAttributes:(nullable NSDictionary *)attributes forState:(UIControlState)state;
- (nullable NSDictionary *)titleTextAttributesForState:(UIControlState)state;
- (void)setContentPositionAdjustment:(UIOffset)adjustment forSegmentType:(UISegmentedControlSegment)leftCenterRightOrAlone barMetrics:(UIBarMetrics)barMetrics; 
- (UIOffset)contentPositionAdjustmentForSegmentType:(UISegmentedControlSegment)leftCenterRightOrAlone barMetrics:(UIBarMetrics)barMetrics;

UISlider

@property(nullable, nonatomic,strong) UIColor *minimumTrackTintColor;
@property(nullable, nonatomic,strong) UIColor *maximumTrackTintColor;
@property(nullable, nonatomic,strong) UIColor *thumbTintColor;

UIStepper

- (void)setBackgroundImage:(nullable UIImage*)image forState:(UIControlState)state;
- (nullable UIImage*)backgroundImageForState:(UIControlState)state;
- (void)setDividerImage:(nullable UIImage*)image forLeftSegmentState:(UIControlState)leftState rightSegmentState:(UIControlState)rightState;
- (nullable UIImage*)dividerImageForLeftSegmentState:(UIControlState)state rightSegmentState:(UIControlState)state;
- (void)setIncrementImage:(nullable UIImage *)image forState:(UIControlState)state;
- (nullable UIImage *)incrementImageForState:(UIControlState)state;
- (void)setDecrementImage:(nullable UIImage *)image forState:(UIControlState)state;
- (nullable UIImage *)decrementImageForState:(UIControlState)state;

UISwitch

@property(nullable, nonatomic, strong) UIColor *onTintColor;
@property(nullable, nonatomic, strong) UIColor *thumbTintColor;
@property(nullable, nonatomic, strong) UIImage *onImage;
@property(nullable, nonatomic, strong) UIImage *offImage;

UITabBar

@property(nullable, nonatomic, strong) UIColor *barTintColor;
@property(nonatomic, readwrite, copy, nullable) UIColor *unselectedItemTintColor;
@property(nullable, nonatomic, strong) UIColor *selectedImageTintColor;
@property(nullable, nonatomic, strong) UIImage *backgroundImage;
@property(nullable, nonatomic, strong) UIImage *selectionIndicatorImage;
@property(nullable, nonatomic, strong) UIImage *shadowImage;
@property(nonatomic) UITabBarItemPositioning itemPositioning;
@property(nonatomic) CGFloat itemWidth;
@property(nonatomic) CGFloat itemSpacing;
@property(nonatomic) UIBarStyle barStyle;

UITabBarItem

@property(nonatomic, readwrite, assign) UIOffset titlePositionAdjustment;
@property(nonatomic, readwrite, copy, nullable) UIColor *badgeColor;
- (void)setBadgeTextAttributes:(nullable NSDictionary<NSString *,id> *)textAttributes forState:(UIControlState)state;
- (nullable NSDictionary<NSString *,id> *)badgeTextAttributesForState:(UIControlState)state;

UITableView

@property(nonatomic) UIEdgeInsets separatorInset;
@property(nonatomic, strong, nullable) UIColor *sectionIndexColor;
@property(nonatomic, strong, nullable) UIColor *sectionIndexBackgroundColor;
@property(nonatomic, strong, nullable) UIColor *sectionIndexTrackingBackgroundColor;
@property(nonatomic, strong, nullable) UIColor *separatorColor;
@property(nonatomic, copy, nullable) UIVisualEffect *separatorEffect;

UITableViewCell

@property(nonatomic) UIEdgeInsets separatorInset;
@property(nonatomic) UITableViewCellFocusStyle focusStyle;

UIToolbar

@property(nonatomic) UIBarStyle barStyle;
@property(nonatomic,assign,getter=isTranslucent) BOOL translucent;
@property(nullable, nonatomic, strong) UIColor *barTintColor;
- (void)setBackgroundImage:(nullable UIImage *)backgroundImage forToolbarPosition:(UIBarPosition)topOrBottom barMetrics:(UIBarMetrics)barMetrics;
- (nullable UIImage *)backgroundImageForToolbarPosition:(UIBarPosition)topOrBottom barMetrics:(UIBarMetrics)barMetrics;
- (void)setShadowImage:(nullable UIImage *)shadowImage forToolbarPosition:(UIBarPosition)topOrBottom;
- (nullable UIImage *)shadowImageForToolbarPosition:(UIBarPosition)topOrBottom;

UIView

@property(nullable, nonatomic,copy) UIColor *backgroundColor;
@wangzz

This comment has been minimized.

Show comment
Hide comment

wangzz commented Jan 29, 2015

Yuy

@mayqiyue

This comment has been minimized.

Show comment
Hide comment

mayqiyue commented Feb 9, 2015

Cool!

@dkhamsing

This comment has been minimized.

Show comment
Hide comment

👍

@agrippa1994

This comment has been minimized.

Show comment
Hide comment

Thanks :)

@banxi1988

This comment has been minimized.

Show comment
Hide comment
@banxi1988

banxi1988 May 9, 2015

Not all supported Appearance property can be found by this method.
for Instance, borderStyle,keyboardAppearance property in UITextField

I'm wondering How to find all those property

Not all supported Appearance property can be found by this method.
for Instance, borderStyle,keyboardAppearance property in UITextField

I'm wondering How to find all those property

@Gerst20051

This comment has been minimized.

Show comment
Hide comment

👍

@efremidze

This comment has been minimized.

Show comment
Hide comment

👍

@niguang1024

This comment has been minimized.

Show comment
Hide comment

👍

@sbishopwta

This comment has been minimized.

Show comment
Hide comment

🍏

@guoweimo

This comment has been minimized.

Show comment
Hide comment

amazing!

@Grubas7

This comment has been minimized.

Show comment
Hide comment
@Grubas7

Grubas7 Apr 25, 2016

UITextView.appearance().linkTextAttributes works as well.

Grubas7 commented Apr 25, 2016

UITextView.appearance().linkTextAttributes works as well.

@cute

This comment has been minimized.

Show comment
Hide comment

cute commented Jul 29, 2016

cool!

@vrahos

This comment has been minimized.

Show comment
Hide comment
@vrahos

vrahos Sep 25, 2016

UILabel also has setFont, useful for UILabel contained in UIButton instances to style the buttons font.

vrahos commented Sep 25, 2016

UILabel also has setFont, useful for UILabel contained in UIButton instances to style the buttons font.

@daxiazhou

This comment has been minimized.

Show comment
Hide comment

cool!

@twinsen2848

This comment has been minimized.

Show comment
Hide comment
@twinsen2848

twinsen2848 Mar 9, 2017

Thank you very much !!

Thank you very much !!

@prajwal-udupa

This comment has been minimized.

Show comment
Hide comment
@prajwal-udupa

prajwal-udupa Feb 16, 2018

helped! Thanks..

helped! Thanks..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment