【问题标题】:UISearchBar extends behind UINavigationBarUISearchBar 在 UINavigationBar 后面扩展
【发布时间】:2017-09-14 12:36:27
【问题描述】:

为什么这个 UISearchBar 将它的背景延伸到导航栏的后面?它只在我的项目中的一个视图控制器上使用 38 个视图控制器。但是这个视图控制器中的设置与其他所有设置相比并不特别。

我问的原因是因为这会在 iOS 11 上造成问题。然后搜索栏不再居中。我已经重新创建了整个故事板,但效果仍然会再次发生。所以我认为这是我在视图控制器中执行的一些代码。但我不知道是什么原因造成的。谢谢。

编辑:根据要求,这里是自动布局约束:

所有常量都是0,当然除了高度。

【问题讨论】:

  • 请显示您在搜索栏和导航栏之间提供了哪些自动布局约束。
  • 给你,谢谢。
  • 能否请您扩展“对齐顶部到:安全区域”的约束
  • 我已经添加了。如您所见 - 没什么特别的。

标签: ios uinavigationbar uisearchbar


【解决方案1】:

我遇到了同样的问题,我通过将搜索栏放到 UIView 中解决了这个问题,然后在 UIView 上应用了约束。

【讨论】:

  • 不,这不是问题所在。我找到了答案并发布了它。不过谢谢。
【解决方案2】:

我刚刚发现了问题。这个视图控制器中有一些古老的代码:

extension MyViewController : UINavigationBarDelegate {
    func position(for bar: UIBarPositioning) -> UIBarPosition {
        return UIBarPosition.topAttached
    }
}

删除此代码修复了所有问题。

【讨论】:

  • 谢谢!值得注意的是,这是 iOS 10 和 11 之间的行为变化。
猜你喜欢
  • 1970-01-01
  • 2018-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-20
  • 2018-05-12
  • 2018-02-10
  • 2012-07-10
相关资源
最近更新 更多