0

ранее у меня был 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

+1

Добавить полный код, мы не можем догадаться! – Cyprian

+0

1) У вас есть 2 UITableView в одном представлении? 2) Можете ли вы добавить еще код, пожалуйста? – Karim

+0

Я думаю, вы должны использовать 1 UITableView с 2 разделами, если это поможет вам достичь того, чего вы хотите. Причина в том, что если вы uIViewController - это панель поиска и делегат/источник данных tableview, то вы можете столкнуться с проблемами. Хотя я не совсем уверен, как вы это делаете со своего поста. – FaddishWorm

ответ

2

Я думаю, что вы хотите TableView с SearchBar, который всегда виден правильно? Если это так, вам просто нужно добавить TableView в ViewController и оставить место в верхней части для SearchBar. Добавьте SearchBar независимо от TableView. У меня есть сообщение, которое показывает, как это делается, а также дает вам некоторое направление для действительно быстрого поиска данных резервного копирования для TableView.

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

+0

Я попробую это. – DanielR

+0

Я действительно хотел использовать SearchDisplayController. Даже с вашим кодом я не могу заставить поисковую панель работать. У вас есть рабочий проект? – DanielR

+0

Да - https://dl.dropbox.com/u/3660978/Objects.zip Много других вещей там тоже, часть, которую вы заинтересовали, будет сцену TableView. Я оставлю этот проект доступным в течение следующих 24 часов. Прокомментируйте это, когда вы его загрузите. –

Смежные вопросы