ios - 搜索栏在激活时被导航栏隐藏

标签 ios uinavigationbar uisearchbar uisearchdisplaycontroller

我遇到了一个奇怪的场景,我在我的应用程序中使用了一个搜索栏并将其与一个 TableView 绑定(bind)在一起,如下图所示!

enter image description here

但是当我尝试搜索任何内容时,搜索栏会向上滑动并被导航栏隐藏,我已经多次使用搜索栏,但从未见过我这样的东西,下面是它的屏幕截图!

enter image description here

我无法删除导航栏,因为我需要它,但我只是想不通为什么或如何发生,

需要注意的一点是搜索栏及其 Controller 在尝试搜索时工作正常,唯一的问题是它隐藏在导航栏后面,

任何对此的帮助将不胜感激,因为我只是无法弄清楚它的原因。

最佳答案

试试这个:

将导航栏的半透明属性设置为NO:

self.navigationController.navigationBar.translucent = NO;

此行将修复 View ,使其不被框在导航栏和状态栏下方。

如果你必须显示和隐藏导航栏,那么在viewDidLoad中使用这段代码

 if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
    self.edgesForExtendedLayout = UIRectEdgeNone;   // iOS 7 specific

关于ios - 搜索栏在激活时被导航栏隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27620339/

相关文章:

ios - 更改导航栏中 UIImageView 的框架大小不起作用

objective-c - UITableView 粘在 UISearchBar 上

Swift - 在 UITableView 中搜索

ios - diawi-应用程序卡住并在屏幕上显示黑色图标

ios - 具有类似 scaleAspectFill 行为的 UINavigationBar 背景图像

ios - 通过 Interface Builder 创建的 UIView 在 vi​​ewDidLoad 中没有 subview

iOS 12 错误的导航栏高度

ios - 来自类 'UIViewController' 和 'UISearchBar' 的多重继承

ios - StackView 未以编程方式左对齐

iphone - 使用 iPhone 4/4s 作为莫尔斯发射器