以前我有UITableViewController
aUISearchBar
并且它通过使用显示在顶部self.tableView.tableHeaderView = searchBar;
现在我不得不重做一些事情,最后得到了 a UIViewController
which shows 2 UITableView's
。我希望上面的显示搜索栏,但现在没有显示。
现在我使用[MyView setTableHeaderView:searchBar];
in viewDidLoad
Method 将 searchBar 添加到 TableView。
在UIViewController
代码中几乎与UITableView
(搜索栏初始化和框架创建以及表格视图初始化)中的相同
任何想法我做错了什么?
编辑:这一切背后的想法是在上部表格视图(包括搜索栏)和另一个 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 一样)。如果我减小上部表格视图的大小,我只会看到空白空间。我在 IB 中添加了一个 UISearchBar,瞧,它就在那里,但没有调用委托方法。
是的,我希望搜索栏始终在表格视图的顶部可见