欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

iOS11 navigationItem.titleView 适配问题

程序员文章站 2022-03-23 09:38:11
iOS11 navigationItem.titleView 适配问题,最近由于Apple 更新了iOS 11版本,在系统升级之后,发现项目中之前适配好的titleView 发生了...

iOS11 navigationItem.titleView 适配问题,最近由于Apple 更新了iOS 11版本,在系统升级之后,发现项目中之前适配好的titleView 发生了如下变化:

iOS 11 之前

iOS11 navigationItem.titleView 适配问题

iOS 11

iOS11 navigationItem.titleView 适配问题

WTF?

在iOS 11中titleView的宽度设置了没有效果,也没有拉伸展示,缩成一坨了。项目中有好多地方用到了titleView这个属性,怎么办?

打开Xcode 查看视图层级功能,发现在iOS 11 中Apple 改变了UINavigationBar的视图层级,titleView不是加到NavigationBar上了,而是加到UINavigationBarContentView上

那么怎么解决这个问题呢?

在你自定义的titleView中重写intrinsicContentSize 的Get 方法,如下:

- (CGSize)intrinsicContentSize

{

return UILayoutFittingExpandedSize;

}

然后再次运行项目,你会发现和之前的效果一样了。