2015-02-14 2 views
0

Я запрограммировал приложение для ноутбука. Я сохраняю весь объект в массиве и в основных данных. Теперь я реализовал UISearchBarController. Результаты SearchBar сохраняются в другом массиве filterarray. Если я сейчас кликнул на один из результатов, он изменится на DetailView объекта с щелчком. Если я сейчас отредактирую имя заметки и сохраню, я вернусь к предыдущему виду, и он изменит его в CoreData. Когда появится представление, панель поиска по-прежнему активна, и табличное представление будет создано с моим фильтром и измененным объектом I, имеет старое имя. Но когда я закрываю панель поиска, имя изменяется. Можно ли вручную закрыть панель поиска, когда я вернусь к главному виду?Обновить таблицуView после изменения объекта | UISeachBar

ответ

0

Попробуйте этот:

override func viewDidAppear(animated: Bool) { 

    self.searchDisplayController?.active = false 
} 
+0

Не могли бы вы объяснить, как этот код отвечает на вопрос? – rfornal

+0

@rfornal - это довольно простой способ и установить searchDisplayController как неактивный, тем самым скрывая его от представления. – faviomob

0

Вы должны отключить поиск контроллер дисплея, когда представление исчезает (или появляется). Я не знаю название метода наизусть, но должно быть что-то вроде .enabled или .active или что-то подобное.

Это, как говорится, я бы сделал это в viewDidDisappear, так что это делается, когда вы покидаете страницу (и готовы к возврату), и у вас нет вспышки, когда вы возвращаетесь к ней (что вы если вы положите его в метод viewDidAppear)

0

UISearchBarController унаследовал от UIViewController, что означает, что вы можете представить и отклонить его по своему желанию с вашего основного ViewController, используя эти 2 метода.

let searchController = UISearchController() // example 

    self.presentViewController(searchController, animated: true, completion: nil) // your main ViewController will present the SearchBarViewController 

    searchController.dismissViewControllerAnimated(true, completion: nil) // your UISearchController() will dismiss itself 

Если вы хотите сохранить UISearchController вокруг и скрыть только UISearchBar, который наследуется от UIView, так у вас есть .hidden свойство можно использовать: searchController.searchBar.hidden = true

также, как я понял из вашего вопроса, ваш вопрос заключается в том, что searchBar по-прежнему активен, показывая предыдущие результаты поиска, и вы можете заставить его стать неактивным, изменив следующее свойство: searchController.active = false, отклонив интерфейс поиска, но сохраняя UISearchController и его UISearchBar, чтобы пользователь мог использовать его снова, если они захотят нажать поле поиска.

+0

пожалуйста, добавьте небольшое описание – Lrrr

+0

Просто, надеюсь, вы довольны деталями сейчас. – leonarth

 Смежные вопросы

  • Нет связанных вопросов^_^