Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека Разработчика iOS

Разработчик

Ссылка платформы UIKit ссылка класса UISearchDisplayController

Опции
Развертывание Target:

На этой странице
Язык:

UISearchDisplayController

Наследование


Соответствует


Оператор импорта


Swift

import UIKit

Objective C

@import UIKit;

Доступность


Доступный в iOS 3.0 и позже.
Осуждаемый в iOS 8.0.

Важный: UISearchDisplayController осуждается в iOS 8. (Обратите внимание на то, что UISearchDisplayDelegate также осуждается.) Для управления представлением панели поиска и результатов поиска дисплея в iOS 8 и позже вместо этого используйте UISearchController.

Поисковый контроллер дисплея управляет дисплеем панели поиска, вместе с табличным представлением что результаты поиска дисплеев.

Вы инициализируете поисковый контроллер дисплея с панелью поиска и контроллер представления, ответственный за управление данными, которые будут искаться. Когда пользователь запускает поиск, поисковый контроллер дисплея накладывает поисковый интерфейс на исходное представление контроллера представления и показывает результаты поиска в его табличном представлении.

В дополнение к управлению доступными для поиска данными исходный контроллер представления обычно играет еще четыре роли, которые необходимо заполнить при использовании поискового контроллера дисплея. Те роли являются следующим:

  1. Источник данных для табличного представления результатов поиска (searchResultsDataSource), который предоставляет данные для таблицы результатов.

  2. Делегат к табличному представлению результатов поиска (searchResultsDelegate), который реагирует на выбор пользователем элемента в таблице результатов.

  3. Делегат к поисковому контроллеру дисплея (delegate), который реагирует на события такой запуск или окончание поиска, и показа или сокрытия поискового интерфейса.

    Как удобство, этому делегату можно также сказать об изменениях в строке поиска или поисковом объеме, так, чтобы могло быть перезагружено представление таблицы результатов.

  4. Делегат к панели поиска (delegate описанный в Ссылке класса UISearchBar), который реагирует на изменения в критериях поиска.

Как правило, Вы инициализируете поисковый контроллер дисплея от контроллера представления (обычно экземпляр UITableViewController) это выводит на экран список. Посмотрите Простой UISearchBar с проектом примера кода Восстановления состояния для примера того, как сконфигурировать поисковый контроллер дисплея в Интерфейсном Разработчике. Для выполнения конфигурации программно установить self для поискового контроллера представления контроллера дисплея и источника данных результатов поиска и делегата, как показано здесь:

  • searchController = [[UISearchDisplayController alloc]
  • initWithSearchBar:searchBar contentsController:self];
  • searchController.delegate = self;
  • searchController.searchResultsDataSource = self;
  • searchController.searchResultsDelegate = self;

Если Вы следуете за этим образцом, то в источнике данных табличного представления и методах делегата можно проверить параметр табличного представления методов для определения, какое табличное представление отправляет сообщение:

  • - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
  • if (tableView == self.tableView) {
  • return ...;
  • }
  • // If necessary (if self is the data source for other table views),
  • // check whether tableView is searchController.searchResultsTableView.
  • return ...;
  • }

Запускаясь в iOS 7.0, можно использовать поисковый контроллер дисплея с панелью навигации (экземпляр UINavigationBar класс) путем конфигурирования поискового контроллера дисплея displaysSearchBarInNavigationBar и navigationItem свойства.

  • Возвращает контроллер дисплея, инициализированный с данной панелью поиска и контроллером содержания.

    Объявление

    Swift

    init(searchBar searchBar: UISearchBar!, contentsController viewController: UIViewController!)

    Objective C

    - (instancetype)initWithSearchBar:(UISearchBar *)searchBar contentsController:(UIViewController *)viewController

    Параметры

    searchBar

    Панель поиска.

    Панель поиска не должна в настоящее время связываться с другим поисковым контроллером дисплея.

    viewController

    Контроллер представления, управляющий дисплеем исходного содержания, которое должно искаться.

    Контроллер представления не должен в настоящее время связываться с другим поисковым контроллером дисплея.

    Возвращаемое значение

    Поисковый контроллер дисплея, инициализированный с данной панелью поиска и контроллером содержания.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.0 и позже.

    Осуждаемый в iOS 8.0.

  • active (iOS 8.0) Свойство

    Состояние видимости поискового интерфейса.

    Объявление

    Swift

    var active: Bool

    Objective C

    @property(nonatomic, getter=isActive) BOOL active

    Обсуждение

    Значение по умолчанию NOfalse.

    При установке этого значения непосредственно любое изменение выполняется без анимации. Использовать setActive:animated: если должно быть анимировано изменение в состоянии.

    Когда пользовательский фокус в поле поиска бара поиска, которым управляют, поисковый контроллер дисплея автоматически выводит на экран поисковый интерфейс. Можно использовать это свойство, чтобы вынудить поисковый интерфейс появиться.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.0 и позже.

    Осуждаемый в iOS 8.0.

  • Дисплеи или скрывают поисковый интерфейс, дополнительно с анимацией.

    Объявление

    Swift

    func setActive(_ visible: Bool, animated animated;: Bool)

    Objective C

    - (void)setActive:(BOOL)visible animated:(BOOL)animated;

    Параметры

    visible

    YEStrue вывести на экран поисковый интерфейс, если это уже не выведено на экран; NOfalse скрыть поисковый интерфейс, если это в настоящее время выводится на экран.

    animated;

    YEStrue использовать анимацию для разнообразия в видимом состоянии, иначе NOfalse.

    Обсуждение

    Когда пользовательский фокус в поле поиска бара поиска, которым управляют, поисковый контроллер дисплея автоматически выводит на экран поисковый интерфейс. Можно использовать этот метод, чтобы вынудить поисковый интерфейс появиться.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.0 и позже.

    Осуждаемый в iOS 8.0.

  • delegate (iOS 8.0) Свойство

    Делегат контроллера.

    Объявление

    Swift

    unowned(unsafe) var delegate: UISearchDisplayDelegate?

    Objective C

    @property(nonatomic, assign) id< UISearchDisplayDelegate > delegate

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.0 и позже.

    Осуждаемый в iOS 8.0.

  • searchBar (iOS 8.0) Свойство

    Панель поиска. (только для чтения)

    Объявление

    Swift

    var searchBar: UISearchBar! { get }

    Objective C

    @property(nonatomic, readonly) UISearchBar *searchBar

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.0 и позже.

    Осуждаемый в iOS 8.0.

  • searchContentsController (iOS 8.0) Свойство

    Контроллер представления, управляющий искавшим содержанием. (только для чтения)

    Объявление

    Swift

    var searchContentsController: UIViewController! { get }

    Objective C

    @property(nonatomic, readonly) UIViewController *searchContentsController

    Обсуждение

    Это обычно - экземпляр UITableViewController.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.0 и позже.

    Осуждаемый в iOS 8.0.

  • searchResultsTableView (iOS 8.0) Свойство

    Табличное представление, в котором выведены на экран результаты поиска. (только для чтения)

    Объявление

    Swift

    var searchResultsTableView: UITableView! { get }

    Objective C

    @property(nonatomic, readonly) UITableView *searchResultsTableView

    Обсуждение

    Этот метод создает новое табличное представление, если Вы уже не существуете.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.0 и позже.

    Осуждаемый в iOS 8.0.

  • searchResultsDataSource (iOS 8.0) Свойство

    Источник данных для табличного представления, в котором выведены на экран результаты поиска.

    Объявление

    Swift

    unowned(unsafe) var searchResultsDataSource: UITableViewDataSource?

    Objective C

    @property(nonatomic, assign) id< UITableViewDataSource > searchResultsDataSource

    Обсуждение

    Значение по умолчанию nil.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.0 и позже.

    Осуждаемый в iOS 8.0.

  • searchResultsDelegate (iOS 8.0) Свойство

    Делегат к табличному представлению, в котором выведены на экран результаты поиска.

    Объявление

    Swift

    unowned(unsafe) var searchResultsDelegate: UITableViewDelegate?

    Objective C

    @property(nonatomic, assign) id< UITableViewDelegate > searchResultsDelegate

    Обсуждение

    Значение по умолчанию nil.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.0 и позже.

    Осуждаемый в iOS 8.0.

  • searchResultsTitle (iOS 8.0) Свойство

    Заголовок для представления результатов поиска.

    Объявление

    Swift

    var searchResultsTitle: String?

    Objective C

    @property(nonatomic, copy) NSString *searchResultsTitle

    Обсуждение

    Значение по умолчанию nil.

    Если значение nil, контроллер использует строку заголовка по умолчанию.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 5.0 и позже.

    Осуждаемый в iOS 8.0.

  • displaysSearchBarInNavigationBar (iOS 8.0) Свойство

    Указывает, что панель навигации содержит панель поиска.

    Объявление

    Swift

    var displaysSearchBarInNavigationBar: Bool

    Objective C

    @property(nonatomic, assign) BOOL displaysSearchBarInNavigationBar

    Обсуждение

    Когда Вы возвращаетесь YEStrue для отображения панели поиска в панели навигации система использует поисковый контроллер дисплея navigationItem свойство и игнорирует элемент навигации, если установлено, searchContentsController контроллер представления. Выведенное на экран поле поиска занимает как можно больше ширины в панели навигации.

    Панель поиска, выведенная на экран в панели навигации, не может иметь панели объема.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

    Осуждаемый в iOS 8.0.

  • navigationItem (iOS 8.0) Свойство

    Представляет поисковый контроллер дисплея в панели навигации контроллера навигации. (только для чтения)

    Объявление

    Swift

    var navigationItem: UINavigationItem! { get }

    Objective C

    @property(nonatomic, readonly) UINavigationItem *navigationItem

    Обсуждение

    Можно сконфигурировать элемент навигации, как описано в Ссылке класса UINavigationItem, за исключением конфигурирования представления заголовка.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

    Осуждаемый в iOS 8.0.