滚动或直到按下搜索栏时导航栏下方的白线

时间:2017-04-19 13:28:43

标签: swift uitableview uinavigationcontroller uinavigationbar uisearchbar

正如您在视频中看到的那样,当我开始滚动时,导航栏下方会出现一条白色细线。

当我按下searchBar(由我的searchController包含,因此搜索栏不会从Storyboard中添加)时,它只会消失。我尝试了很多不同的组合,试图让它消失,但没有任何效果。

任何帮助表示赞赏!谢谢!

视频 https://www.youtube.com/watch?v=KcgZmBg1VS0

这是我viewDidLoad中的代码:

searchController.searchBar.delegate = self

searchController.dimsBackgroundDuringPresentation = false
searchController.hidesNavigationBarDuringPresentation = false
searchController.searchBar.placeholder = "Search for a recipe"

searchController.searchBar.barTintColor = navigationController?.navigationBar.barTintColor
searchController.searchBar.tintColor = UIColor.white

2 个答案:

答案 0 :(得分:0)

尝试设置背景颜色并更改navigationBar的阴影。它可能与navigationBar

相关联
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default)
self.navigationController?.navigationBar.shadowImage = UIImage()

尝试添加此行:

searchController.searchBar.backgroundColor = navigationController?.navigationBar.barTintColor

在档案setupSearchBar()

修复代码后:

enter image description here

答案 1 :(得分:0)

您可以顺便删除导航栏下方的阴影。我已经为此创建了扩展名:

extension UINavigationBar {

  func shouldRemoveShadow(_ value: Bool) -> Void {
    self.setValue(value, forKey: "hidesShadow")
  }
}