美文网首页
关于Appearance的问题

关于Appearance的问题

作者: 一米押金 | 来源:发表于2016-12-08 09:14 被阅读0次

    关于Appearance的一些性质:

    1.只要遵守了UIAppearance协议,还要实现这个方法


     2.哪些属性可以通过appearance设置,只有被UI_APPEARANCE_SELECTOR修饰的属性


    3.appearance:只能在控件显示之前设置,才能有作用


    4.如果view大规模变化的话,可以使用appearance例如:夜间模式

    可能遇到的坑:

    比方说 UINavigationBar *bar = [UINavigationBar appearance]用来设置项目中关于navigation bar的一些操作,殊不知,如果我们在项目中调用到了通讯录的话,通讯录也是有navbar的,那我们之前设置的内容可能就会影响到它,所以如果涉及到其他的navbar就不能单纯的用appearance,为了保险,可以采取以下方法:

    根据IOS的系统不同的两套方式,也是以navbar为例

    #define IOS9 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 9.0 ? YES:NO)

    //设置导航栏主题

    UINavigationBar *navBar = [UINavigationBar appearance];

    if(IOS9)

    {

    navBar = [UINavigationBar appearanceWhenContainedInInstancesOfClasses:@[[self class]]];

    }else

    {

    navBar = [UINavigationBar appearanceWhenContainedIn:self, nil];

    }

    相关文章

      网友评论

          本文标题:关于Appearance的问题

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