UISearchview реагирует на действия - TableSearch образец iphone - PullRequest
0 голосов
/ 14 сентября 2011

Я бы хотел изменить пример кода tableSearch, чтобы в таблице не было пера.Поскольку это уже подкласс tableviewcontroller, я могу вызвать просмотр таблицы следующим образом:

MainViewController *mainViewController = [[MainViewController alloc] initWithStyle:UITableViewStylePlain];//NibName:@"MainView" bundle:nil];

Без пера я бы хотел добавить панель поиска вручную.Я попробовал ниже:

    UISearchBar* searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0,10, 320, 41)];
[searchBar setFrame:CGRectMake(0,10, 320, 41)];
searchBar.delegate = self;
searchBar.tintColor = [UIColor redColor];
[searchBar sizeToFit];
self.tableView.tableHeaderView  = searchBar;

Панель поиска выглядит нормально.Теперь я хотел бы, чтобы действие поиска этой панели поиска указывало на методы, которые у меня уже есть в моем коде, то есть методы делегата searchDisplayController.Можно ли в любом случае указать свойству панели поиска self.searchDisplayController на свою пользовательскую панель поиска, чтобы они выполняли те же действия?Заранее спасибо ...

Ответы [ 2 ]

1 голос
/ 14 сентября 2011

Вы должны использовать initWithSearchBar:contentsViewController метод UISearchDisplayController.Таким образом, ваша пользовательская панель поиска будет связана с контроллером.Также вы должны установить contentsViewController в этом методе.

0 голосов
/ 10 октября 2012

Хм .. это код от одного из моих ВК.Также установите UISearchBarDelegate, UISearchDisplayDelegate

_listContainer = [[UITableView alloc] init];
_listContainer.delegate = self;
_listContainer.dataSource = self;
_listContainer.separatorStyle = UITableViewCellSelectionStyleNone;
_data = [[NSArray alloc] init];

И затем

_searchBar = [[NL_CustomSearchBar alloc] initWithFrame:CGRectMake(4.0f, 0, 150, 46)];
 _searchBar.delegate = self;
 _listContainer.tableHeaderView = _searchBar;
...