У меня есть два табличных представления, и я переключаюсь между ними, выбирая сегментированный элемент управления. Я также получил контроллер поиска с панелью поиска. Когда я выбираю панель поиска, сегментированный элемент управления должен быть отключен, чтобы вы не могли выбрать второе табличное представление. Когда я нажимаю кнопку отмены в строке поиска, сегментированный элемент управления должен снова активироваться. Но это не работает, сегментированный элемент управления остается отключенным. Когда я выбираю ячейку табличного представления и возвращаюсь к этому контроллеру представления, сегментированный элемент управления снова включается. Но я хочу, чтобы он был включен, когда я нажимаю кнопку отмены. Мой код выглядит следующим образом:
func deactivateSegment() {
segmentedController.setEnabled(false, forSegmentAt: 1)
}
func activateSegment() {
segmentedController.setEnabled(true, forSegmentAt: 1)
}
extension SegmentedTableController: UISearchResultsUpdating, UISearchBarDelegate {
func updateSearchResults(for searchController: UISearchController) {
deactivateSegment()
if searchController.searchBar.text != "" {
filterContentForSearchText(searchText: searchController.searchBar.text!)
} else {
NotificationCenter.default.post(name: NSNotification.Name(rawValue: "update_view"), object: rumList, userInfo: nil)
}
}
func searchBarTextDidBeginEditing(_ searchBar: UISearchBar) {
KCFABManager.defaultInstance().hide()
deactivateSegment()
}
func searchBarCancelButtonClicked(_ searchBar: UISearchBar) {
KCFABManager.defaultInstance().show()
NotificationCenter.default.post(name: NSNotification.Name(rawValue: "update_view"), object: self.rumList, userInfo: nil)
activateSegment()
}
}
Я также пробовал это с segmentedController.isEnabled = false (&true)
и segmentedController.isUserInteractionEnabled = false (&true)
, но это тоже не работает.
Что я делаю не так?
deactivateSegment()
вupdateSearchResults
- person Anbu.Karthik   schedule 01.03.2017