ранее у меня был UITableViewController
с UISearchBar
и отображались в верхней части с помощью self.tableView.tableHeaderView = searchBar;
UIViewController с UITableViews и UISearchBar
Теперь я должен был переделать некоторые вещи, и в конечном итоге с UIViewController
, который показывает 2 UITableView's
. Я хотел, чтобы верхний отображал панель поиска, но теперь она не отображается.
Теперь я использую [MyView setTableHeaderView:searchBar];
в viewDidLoad
Метод добавления searchBar в TableView.
В UIViewController
код почти такой же, как и в UITableView
(SearchBar инициализирован и рамой создается, а также TableView инициализирован)
Любые идеи, что я делаю неправильно?
EDIT: Идея за всем этим иметь список в верхней таблице (включая панель поиска) и другое uitableview, где я могу выбрать некоторые параметры фильтрации.
(id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
searchResult = [[NSMutableArray alloc] init];
LexikonView = [[UITableView alloc] initWithFrame:CGRectMake(0, 44, 320, 337) style:UITableViewStylePlain];
LexikonView.dataSource = self;
LexikonView.delegate = self;
[self.view addSubview:LexikonView];
FilterView = [[UITableView alloc] initWithFrame:CGRectMake(0, 381, 320, 0) style:UITableViewStylePlain];
//FilterView.dataSource = self;
//FilterView.delegate = self;
[self.view addSubview:FilterView];
}
return self;
}
(void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib
searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
searchBar.autocorrectionType = UITextAutocorrectionTypeYes;
searchDisplayController = [[UISearchDisplayController alloc] initWithSearchBar:searchBar contentsController:self];
searchDisplayController.delegate = self;
searchDisplayController.searchResultsDataSource = self;
[LexikonView setTableHeaderView:searchBar];
}
На данный момент я просто хочу, чтобы поисковая панель снова работала (как и с помощью uitableviewcontroller). Если я уменьшу размер верхней таблицы, я вижу только пустое пространство. Я добавил UISearchBar в IB и там, где он есть, но методы делегата не вызываются.
И да, я хочу, чтобы Searchbar быть всегда видны в верхней части Tableview
Добавить полный код, мы не можем догадаться! – Cyprian
1) У вас есть 2 UITableView в одном представлении? 2) Можете ли вы добавить еще код, пожалуйста? – Karim
Я думаю, вы должны использовать 1 UITableView с 2 разделами, если это поможет вам достичь того, чего вы хотите. Причина в том, что если вы uIViewController - это панель поиска и делегат/источник данных tableview, то вы можете столкнуться с проблемами. Хотя я не совсем уверен, как вы это делаете со своего поста. – FaddishWorm