美文网首页iOS Developer
ios拓展11-UIAppearance使用详解

ios拓展11-UIAppearance使用详解

作者: Abler | 来源:发表于2016-07-25 21:19 被阅读788次
    1. iOS5及其以后提供了一个比较强大的工具UIAppearance,我们通过UIAppearance设置一些UI的全局效果,这样就可以很方便的实现UI的自定义效果又能最简单的实现统一界面风格,它提供如下两个方法。
    + (id)appearance
    // 这个方法是统一全部改,比如你设置UINavBar的tintColor,你可以这样写:[[UINavigationBar appearance] setTintColor:myColor];
    
    + (id)appearanceWhenContainedIn:(Class <>)ContainerClass,...
    //这个方法可设置某个类的改变:例如:设置UIBarButtonItem 在UINavigationBar、UIPopoverController、UITabbar中的效果。就可以这样写
    //[[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], [UIPopoverController class],[UITabbar class] nil] setTintColor:myPopoverNavBarColor];
    
    2.具体UI外观修改如下:

    //修改导航栏背景
    //1)代码如下:
        UINavigationBar * appearance = [UINavigationBar appearance];
        UIImage *navBackgroundImg =[UIImage imageNamed:@"navBg.png”];
        [appearance setBackgroundImage:navBackgroundImgforBarMetrics:UIBarMetricsDefault];
    
    //2)或者例如:
    [[UINavigationBar appearance] setTintColor:[UIColorblackColor]];
     [[UISearchBar appearance] setTintColor:[UIColorblackColor]];
    
    3.注意:
    • 初学者容易任意调用方法,方法无效时,如果调用时会抛出unknown selector 异常
    • 那么如何查看你调用的方法时有效的呢,我们可以在此类的头文件中查看包含“UI_APPEARANCE_SELECTOR”常量的方法。
    ps:请注意*使用appearance设置UI效果最好采用全局的设置,在所有界面初始化前开始设置,否则可能失效。
    

    相关文章

      网友评论

        本文标题:ios拓展11-UIAppearance使用详解

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