привязывая UISearchBar к действию - PullRequest
0 голосов
/ 30 ноября 2010

Чтобы сообщить вам с самого начала, я новичок в разработке для iPhone, и я взялся за чудовищное задание.

Прежде всего, я пишу приложение, которое позволяет вам делать покупки в интернет-магазине.,У нас есть партнерская учетная запись с известным веб-сайтом онлайн-покупок, мы пытаемся связать наше приложение с поиском на этом сайте и поместить результаты в таблицу с гиперссылками на сайт и т. Д.

Но сначала возникли проблемы,одна вещь за раз:

В Интерфейсном Разработчике у меня есть Панель поиска и розетка, связанная с панелью поиска.У меня также есть IBAction, созданный только для того, чтобы взять текст, введенный в строку поиска, сохранить его в переменной и затем выполнить поиск на этом веб-сайте (да, это много материала для действия).

Потому чтоЯ настолько новичок в этом процессе с IB, как мне связать панель поиска с IBAction?Я знаю, глупый вопрос.

Ответы [ 2 ]

0 голосов
/ 30 ноября 2010

Вы можете установить контроллер представления в качестве делегата панели поиска в IB (или программно) и реализовать протокол UISearchBarDelegate , чтобы определить действия для панели поиска.

Как новичок, вам следует ознакомиться с шаблоном делегата, поскольку на него опирается большая часть SDK для iOS (руководство по программированию приложений для iOS - хорошее начало)1007 *

Обновление

Вам необходимо реализовать методы UISearchBarDelegate в строке поиска delegate.Например, если ваша строка поиска является свойством MyViewController, вы, вероятно, захотите иметь эту строку в реализации MyViewController:

[self.searchBar setDelegate:self];

Это так просто;теперь, если эти методы реализованы в MyViewController, они будут автоматически вызываться при выполнении соответствующего действия.

0 голосов
/ 30 ноября 2010

Если у вас нет определенной кнопки ПОИСК, установите ваш View Controller в качестве делегата для UITextField и выполните свое действие на

- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
    // Code here...
    return YES;
}

Не забудьте также объявить протокол в файле интерфейса

@interface ... : ... <UITextFieldDelegate>

Как только это будет сделано, каждый раз, когда на клавиатуре будет нажата клавиша GO / SEARCH, будет вызываться указанный выше метод.

[EDIT] Вот справочник Apple для справки http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UITextFieldDelegate_Protocol/UITextFieldDelegate/UITextFieldDelegate.html

...