因此,我目前正在嘗試用UISearchController替換我的其中一個項目中的取消搜索的searchDisplayController,並且我遇到了此問題。UISearchController關閉取消按鈕後取消按鈕
如果搜索中沒有結果(UITableView爲空),則整個ViewController將被取消。搜索結果不爲空時不會發生這種情況。我不想說清楚我沒有使用UITableViewController。相反,我有一個普通的VC,裏面有一個UITableView。
下面是我的一些代碼:
var resultSearchController = UISearchController()
override func viewDidLoad() {
super.viewDidLoad()
self.resultSearchController = ({
let controller = UISearchController(searchResultsController: nil)
controller.searchResultsUpdater = self
controller.dimsBackgroundDuringPresentation = false
controller.searchBar.sizeToFit()
controller.delegate = self
controller.searchBar.delegate = self
self.studentTable.tableHeaderView = controller.searchBar
return controller
})()
....
}
現在,如果我添加此功能可將公式取消按鈕總是駁回VC。
func searchBarCancelButtonClicked(searchBar: UISearchBar) {
resultSearchController.active = false
}
那麼爲什麼設置searchController.active = false
關閉VC呢?是否因爲它使用與VC相同的UITableView?我相信舊的searchDisplayController只會顯示一個正在使用的UITableView。如果是這種情況,有沒有辦法覆蓋dismissVC?
會發生什麼'false',你點擊取消按鈕? – shim
當它不包含它時,它只會在問題狀態沒有搜索結果時解除VC。如果它被包含,那麼當取消按鈕被擊中時它總是這樣做。 – boidkan
它會在沒有搜索結果時解散,或者在沒有搜索結果時解散並且您取消了取消? – shim