美文网首页
记录曾经踩过的坑~自定义titileView全屏宽

记录曾经踩过的坑~自定义titileView全屏宽

作者: SYSYSY | 来源:发表于2020-04-15 09:43 被阅读0次

先看两张图:

titleView导航栏在iOS10上的视图结构层

20190220100727.png 

titleView导航栏在iOS12.2上的视图结构层

20190220100049.png

对比两者明显发现titleView在导航栏上的层级不同,iOS10上直接是添加在UINavigationBar,在iOS12上则多了个UINavigationBarContentView,titleView添加在这个上面了。

导致的问题:

在iOS10上设置titleView的frame后,赋值即可

self.navigationItem.titleView = navTitleView;

但是在iOS12上你会发现布局完全和预期不同,经过查看视图层级,发现在iOS12上titleView报约束错误,这也就是布局达不到预期的原因。

我是这样解决的:

self.navigationItem.titleView = navTitleView;

//赋值后对titleView进行约束

[navTitleView mas_makeConstraints:^(MASConstraintMaker *make) {

    make.edges.equalTo(nav.superview);

}];

如果哪位大牛有更好的解决方法,请不吝指教。

相关文章

网友评论

      本文标题:记录曾经踩过的坑~自定义titileView全屏宽

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