美文网首页
Appearance

Appearance

作者: Iris_Fighting | 来源:发表于2019-06-17 15:21 被阅读0次

UIAppearance是一个协议

@protocol UIAppearance <NSObject>

UIView默认已经遵守了这个协议

NS_CLASS_AVAILABLE_IOS(2_0) @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, CALayerDelegate>

来看看UIAppearance都有什么方法

+ (instancetype)appearance;

+ (instancetype)appearanceWhenContainedInInstancesOfClasses:(NSArray<Class <UIAppearanceContainer>> *)containerTypes NS_AVAILABLE_IOS(9_0);

+ (instancetype)appearanceForTraitCollection:(UITraitCollection *)trait NS_AVAILABLE_IOS(8_0);

+ (instancetype)appearanceForTraitCollection:(UITraitCollection *)trait whenContainedInInstancesOfClasses:(NSArray<Class <UIAppearanceContainer>> *)containerTypes  NS_AVAILABLE_IOS(9_0);

让某一类控件同时表现某种属性

    //导航条上标题的颜色
    NSDictionary *navbarTitleTextAttributes = @{NSForegroundColorAttributeName:[UIColor whiteColor]};
    [[UINavigationBar appearance] setTitleTextAttributes:navbarTitleTextAttributes];
    [[UINavigationBar appearance] setTintColor:[UIColor redColor]];
    
    //TabBar选中图标的颜色,默认是蓝色
    [[UITabBar appearance] setTintColor:[UIColor greenColor]];
    
    //导航条的背景颜色
    [[UINavigationBar appearance] setBarTintColor:[UIColor yellowColor]];
    
    //TabBar的背景颜色
    [[UITabBar appearance] setBarTintColor:[UIColor brownColor]];
    
    [UISearchBar appearance].tintColor = [UIColor redColor];

    UIPageControl *pageControl = [UIPageControl appearance];
    pageControl.pageIndicatorTintColor = [UIColor magentaColor];
    pageControl.currentPageIndicatorTintColor = [UIColor grayColor];
    
    [[UITextField appearance] setTintColor:[UIColor purpleColor]];
    [[UITextView appearance]  setTintColor:[UIColor darkGrayColor]];

让某一类控件在另一种控件中同时变现某种属性

    //当某个class被包含在另外一个class内时,才修改外观。
    [[UIButton appearanceWhenContainedInInstancesOfClasses:@[[UIView class]]] setTitleColor:[UIColor grayColor] forState:UIControlStateNormal];
   
     [[UITextView appearanceWhenContainedInInstancesOfClasses:@[[UISearchBar class]]] setTextColor:[UIColor yellowColor]];

如图所示


Simulator Screen Shot - iPhone 6 - 2019-06-17 at 15.20.21.png

相关文章

  • AS配置

    配置 主题Appearance&Behavior->Appearance 字体Appearance&Behavio...

  • appearance

    css3属性,在 firefox 和 chrome中支持良好,可以用来修复iPhone上submit按钮bug 功...

  • appearance

  • Appearance

    Appearance Proxies UIAppearance是一个协议 UIView默认已经遵守了这个协议 来看...

  • appearance

    UINavigationController和 UITabBarController都可以通过appearance...

  • appearance

    通过appearance统一设置所有UITabBarItem的文字属性NSMutableDictionary *a...

  • Appearance

    UIAppearance是一个协议 UIView默认已经遵守了这个协议 来看看UIAppearance都有什么方法...

  • 导航栏设置透明失效

    UINavigationBar *appearance = [UINavigationBar appearance...

  • idea修改编辑器字体大小

    设置 -> Appearance & Behavior -> Appearance -> Use custom ...

  • 2017.3.25 English Study Notes

    appearance, physical appearance,looks 外貌 facial features ...

网友评论

      本文标题:Appearance

      本文链接:https://www.haomeiwen.com/subject/csmafctx.html