NavBar 在其底部显示空白,而我使用 Objective C 在 IOS 中将 SeachView 添加为 titleView

Posted

技术标签:

【中文标题】NavBar 在其底部显示空白,而我使用 Objective C 在 IOS 中将 SeachView 添加为 titleView【英文标题】:NavBar is showing white space at its bottom while i added SeachView as titleView in IOS using Objective C 【发布时间】:2018-08-28 00:33:38 【问题描述】:

我对使用 Xcode 9.4.1 在 xib 文件中设计的视图有一个奇怪的问题。我将 searchBar 作为标题视图添加到 NavBar,该视图显示正常,但是当我移动到下一个 ViewController 时,navBar 的高度被最小化了一点,它在 navBar 的底部显示了一个空白,当我回到以前的 View 具有 searchBar 作为 navBar 中的 titleView 空白也存在那里。我也附上了截图以获得清晰的想法

我正在使用 xib 文件并以编程方式在视图中添加导航栏。我也尝试根据屏幕调整 navBar 的高度,但没有成功,谁能知道周围发生了什么?

【问题讨论】:

【参考方案1】:

注意 searchBar ,确定这个空白的原因。我怀疑原因是第二个视图控制器中的 tableview 的 tableHeaderView。因为我有同样的经历。

【讨论】:

嗨@stackStevn 感谢您的回复,您能否再解释一下。我检查了 tableView,但每个视图都位于两个屏幕顶部的按钮下方。 我没有使用自动布局,这些是 xib 文件,Xcode 版本是 9.4.1。其次,如果我通过为所有屏幕尺寸设置它们的框架来向上推动按钮,则按钮会在两个屏幕中出现在导航栏底部的白色填充之后隐藏。 ios 11 系统原生 UISearchBar 发生了翻天覆地的变化,从 44 变为 56。可以通过添加跟随代码来修复它 if (@available(iOS 11.0, *)) [searchBar.heightAnchor constraintEqualToConstant:44].active = YES; 。重要提示:始终使自定义搜索栏修复高度变化。 太好了,这就是我所缺少的,我怎么能忘记它。谢谢@stackStevn :)

以上是关于NavBar 在其底部显示空白,而我使用 Objective C 在 IOS 中将 SeachView 添加为 titleView的主要内容,如果未能解决你的问题,请参考以下文章

Microsoft Edge 显示空白,而 chrome/Internet Explorer 不显示

ImageView显示图像顶部和底部的空白区域

CoordinatorLayout 滚动后在底部留下空白空间

EXCEL表滚动条旁边显示大片空白,关闭表格的时候会显示全部,一会就又变回去了,是怎么回事,在哪里调整??

如何创建空/空白 UIImage 或 CGImage 并在其上操作像素(Xcode)?

添加 UISearchBar 后 UITableView 底部的空白处