带有 SearchBar 的 iOS 11 导航栏大小

Posted

技术标签:

【中文标题】带有 SearchBar 的 iOS 11 导航栏大小【英文标题】:iOS 11 navigationBar size with SearchBar 【发布时间】:2017-11-27 11:13:09 【问题描述】:

如果我将 SearchBar 添加到导航栏的标题 - 在 ios11 中导航栏会变大并且搜索栏也会变大。是否可以避免尺寸变化?在 ios 10 中没有这样的东西

我是通过代码添加的

navigationBar.titleView = searchBar

【问题讨论】:

【参考方案1】:

像这样初始化搜索栏

let searchBar = UISearchBar(frame: CGRect(x: 20, y: 0, width: UIScreen.main.bounds.width-40, height: 40)) 
//Change x,y,width,height according to your need

希望对你有帮助

【讨论】:

【参考方案2】:

创建一个自定义标题视图 (UIView) 并添加到您的导航栏标题视图中。在您的自定义标题视图中,您应该使用 UILayoutFittingExpandedSize 覆盖 intrinsicContentSize 方法。

和目标 C 一样:

- (CGSize)intrinsicContentSize 
    return UILayoutFittingExpandedSize;

【讨论】:

导致 UI 崩溃

以上是关于带有 SearchBar 的 iOS 11 导航栏大小的主要内容,如果未能解决你的问题,请参考以下文章

UISearchBar 在 iOS 11 中增加导航栏高度

搜索栏未显示在导航栏 iOS 11 上

iOS:从导航栏中删除以编程方式添加的搜索栏

iOS11关于隐藏导航栏后带有tableView界面出现,下移问题

iOS 11.2 - 在带有大标题的导航栏中时,搜索控制器栏背景清晰

iOS 11:带有不透明导航栏的导航控制器内带有滚动视图的弹出视图控制器在转换期间导致奇怪的内容动画