我在SearchBar
TableView
中ViewDidLoad()
添加了 self.searchBar = UISearchController(searchResultsController: nil)
self.searchBar.searchResultsUpdater = self
self.searchBar.dimsBackgroundDuringPresentation = false
self.searchBar.searchBar.sizeToFit()
self.tableView.tableHeaderView = self.searchBar.searchBar
self.tableView.reloadData()
:
SearchBar
一切正常,但当我点击这个SearchBar
时,它就消失了。这意味着,我仍然可以打字,我可以看到结果,但是,看不到UISearchBarDelegate
。我实施了func searchBarTextDidBeginEditing(searchBar: UISearchBar) {
self.navigationController?.navigationBarHidden = false
}
func searchBarTextDidEndEditing(searchBar: UISearchBar) {
self.navigationController?.navigationBarHidden = true
}
,我一直试图添加
Search Bar
但它仍然无效。你有什么想法,为什么viewDidLoad()
会消失?
这个问题的解决方案是(像@sandy sad)在 self.aNavigationController?.extendedLayoutIncludesOpaqueBars = true
TableView
但现在我遇到了一个新问题,这意味着当我选择VievController
中的行并显示新的SearchBar
时,O(1)
不会消失,我会在新视图中看到它。为什么?
答案 0 :(得分:1)
您需要在viewDidLoad()中将extendedLayoutIncludesOpaqueBars设置为true。
String userName = System.getProperty("user.name"); //platform independent
File f = new File ("/Users/" + userName + "/Desktop/nameOfDir");
f.mkdirs();
答案 1 :(得分:-1)
实际上search Bar
并未隐藏它只是根据文本调整width
和height
。
从您的代码中删除此行,它将正常工作。
self.searchBar.searchBar.sizeToFit()