我正在爲使用Xcode 8(版本8.1(8B62)的iOS 10進行開發),我試圖開發一個視圖控制器,它在tableView
之上顯示一個固定的searchBar
。我有初始佈局,但是當我激活searchBar
時,它完全從我的視野中消失。SearchController SearchBar從視圖中消失
這裏是我的視圖控制器的視圖層次:
View
|
|---- UISearchBar
|
|---- UITableView
,這裏是什麼樣子:現在
,問題。由於沒有用於包含UISearchController
的界面生成器工具,就像UISearchDisplayController
那樣,我將searchBar
以編程方式添加到我的視圖控制器的viewDidLoad
方法中的界面中,並且我使用searchController.searchBar
替換了我在故事板中使用的臨時UISearchBar :
// attribute to store the searchController
var searchController: UISearchController!
// temporary searchBar from storyboard
@IBOutlet weak var tempSearchBar: UISearchBar!
...
override func viewDidLoad() {
super.viewDidLoad()
searchController = UISearchController(searchResultsController: nil)
searchController.searchResultsUpdater = self
searchController.searchBar.frame = tempSearchBar.frame
tempSearchBar.removeFromSuperview()
view.addSubview(searchController.searchBar)
}
當我運行的應用程序,並激活連接到我的searchController
的searchBar
對象,它從視野中消失
tableView
也奇怪地移動,但我的主要重點是讓searchBar
留在視圖內。我嘗試了一些不同的事情來完成這項工作,但我沒有運氣。任何幫助深表感謝。我只是覺得這不應該很難實現。我可以用UISearchDisplayController
這個對象來完成,但這些對象已經被棄用了,我試圖成爲一名優秀的程序員而不是使用它。