斯威夫特 - 大标题&搜索栏

时间:2018-06-07 04:22:30

标签: ios swift uitableview swift3 uisearchbar

我正在尝试在tableViewController中使用LargeTitle和searchBar。

我想要一个白色导航栏并且不是半透明的。

我真的没有办法做到这一点。

我的代码,进入viewDidLoad():

if #available(iOS 11.0, *) {
         self.navigationController?.navigationBar.prefersLargeTitles = true
}

self.navigationController?.navigationBar.isTranslucent = true
let img = UIImage(named: "backgroundNav")
navigationController?.navigationBar.setBackgroundImage(img, for: .default)
searchController.searchBar.searchBarStyle = .minimal
self.navigationItem.searchController = searchController
self.navigationController?.navigationBar.shadowImage = UIImage()

这里的问题是,当searchBar处于活动状态时状态栏上有一个空白:

enter image description here

我想要那样的东西。 enter image description here

如果我删除这些行,它可以正常工作,但是使用半透明的navigationBar:

let img = UIImage(named: "backgroundNav")
navigationController?.navigationBar.setBackgroundImage(img, for: .default)

如果您对我如何做到这一点有所了解,那将非常有用。

1 个答案:

答案 0 :(得分:0)

只需选择导航控制器并在IB中设置prefer large title即可。这应该工作。如果有帮助,请告诉我。