所以我想知道如何在我的应用程序中移动搜索栏(当前显示在导航栏下方的导航栏中。
现在,我有一个名为makeSearchBar()的函数,我在viewDidLoad()中调用它来创建搜索栏。没有storyboard或xib文件。我想摆脱导航栏上的标题,并用搜索栏替换它。但是,当我使用其他用户问题中给出的方法时,搜索栏会消失或保持原样。
这是搜索栏的代码:
override func viewDidLoad() {
super.viewDidLoad()
makeSearchBar()
}
func makeSearchBar() {
searchBar = UISearchBar()
searchBar.delegate = self
searchBar.frame = CGRect(x: 0, y: 0, width: screenSize.width, height: 60)
// searchBar.sizeToFit()
//TRYING TO ADD TO NAV BAR
navigationItem.titleView = searchBar
searchBar.placeholder = "Search"
view.addSubview(searchBar)
}
我也想知道如何制作应该使电池信息具有不同背景颜色的顶行。
如果您有任何建议,我很乐意听取他们的意见。我是iOS新手,不知道我在做什么。
答案 0 :(得分:3)
只需尝试一下:
override func viewDidLoad() {
super.viewDidLoad()
makeSearchBar()
}
func makeSearchBar() {
searchBar = UISearchBar()
searchBar.sizeToFit()
navigationItem.titleView = searchBar
}
希望它会对你有所帮助。
答案 1 :(得分:1)
通过在viewDidLoad()
中调用presentSearchController来尝试此代码fileprivate func presentSearchController(initialSearchText searchText:String? = nil){
let searchController = UISearchController(searchResultsController: nil)
searchController.searchResultsUpdater = self
searchController.obscuresBackgroundDuringPresentation = false
searchController.searchBar.text = searchText
if #available(iOS 11.0, *){
self.navigationItem.searchController = searchController
searchController.isActive = true
}
else{
present(searchController, animated: true, completion: nil)
}
}