键入时,搜索栏从视图中消失

时间:2016-01-06 12:28:03

标签: ios iphone swift uisearchbar uisearchcontroller

我在SearchBar TableViewViewDidLoad()添加了 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)不会消失,我会在新视图中看到它。为什么?

2 个答案:

答案 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并未隐藏它只是根据文本调整widthheight

  

从您的代码中删除此行,它将正常工作。

self.searchBar.searchBar.sizeToFit()