Добавление метода делегата табличного представления


Добавление метода делегата табличного представления

После методов источника данных мы добавили один метод делегата. Если пользователь щелкает на строке, используя панель поиска, мы хотим, чтобы клавиатура была скрыта. Это осуществляется путем реализации tableView.-willSelectRowAtlndexPath: и вызова метода resignFirstResponder панели поиска, что приведет к сокрытию клавиатуры. Далее мы возвращаем неизмененное значение indexPath.

Добавление методов делегата панели поиска

Панель поиска имеет ряд методов, которые вызываются для ее делегата. Когда пользователь нажимает клавишу или постукивает по кнопке поиска, вызывается метод searchBarSearchButtonclicked:. Наша версия этого метода получает данные из панели поиска и вызывает метод поиска, который удалит несовпадающие имена из names и пустые разделы из keys.

Мы также реализуем другой метод делегата панели поиска, который требует немного инимания. Этот следующий метод реализует оперативный, или "живой", поиск. Каждый раз при изменении поискового запроса, независимо от того, выбрал ли пользователь кнопку поиска или нажал клавишу , мы повторяем поиск. Такое поведение оказывается очень удобным, так как пользователи могут видеть результаты изменений непосредственно во премя набора текста. Если список уже на третьей букве оказывается достаточно коротким, пользователь может остановить ввод и выбрать нужную строку.

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

ПРЕДУПРЕЖДЕНИЕ. Не считайте высокую производительность в симуляторе основанием ожидать высокой производительности в реальном устройстве. Если вы собираетесь реализовать оперативный поиск, необходимо тщательно протестировать его на имеющемся оборудовании, чтобы убедиться в разумном времени отклика вашего приложения. Если сомневаетесь, не используйте эту технологию. Ваши пользователи, скорее всего, предпочтут постукивание по кнопке поиска долгому раздражающему ожиданию.

Когда пользователь щелкает на кнопке Cancel, мы устанавливаем поисковый термин, Равный пустой строке, сбрасываем поиск и перезагружаем данные так, чтобы выводились Все имена.
  • Дата: 4-12-2014, 15:10

Предыдущие статьи сайта:

Понравилась статья? Ставь лайки, рассказывай друзьям!



Отзывы о статье: Добавление метода делегата табличного представления

Технологии, секреты и фишки Apple: Iphone, iPad, iPod