iOS11 适配 self.navigationItem.titleView = self.searchBar 导致的BUG

self.navigationItem.titleView = self.searchBar;
https://zhuanlan.zhihu.com/p/...
会出现导航栏高度的问题。用下面的方法解决之后衍生出新的一个问题
测试机版本。ios 11.0.

if(@available(iOS 11.0, *)) {

[[_searchBar.heightAnchor constraintEqualToConstant:44] setActive:YES];

}

A界面push到B界面的时候。A界面的searchBar会在B界面的导航栏上。直到push动画完成才会消失。ios11之前都没关系,求大神帮忙看一下是什么问题。
图片描述

回答:

让titleView继承一个view,然后实现以下方法

/// 解决iOS导航栏自定义titleView后 显示错误的问题(常用于搜索框)

-(CGSize)intrinsicContentSize {

// return UILayoutFittingExpandedSize;

return CGSizeMake([UIScreen mainScreen].bounds.size.width - 2*43 - 2*20, 30);

}

以上是 iOS11 适配 self.navigationItem.titleView = self.searchBar 导致的BUG 的全部内容, 来源链接: utcz.com/p/186769.html

回到顶部