6

我有视图控制器,在视图中我放了一个表格视图,还有一个搜索栏到表格的标题中......搜索栏没有显示,只是空的表格视图。

我需要做一些额外的事情吗?我很确定它与viewUIViewController 的插座有关,设置为View...

谢谢

4

5 回答 5

8

对于可能遇到此问题的其他人,我遇到了非常相似的情况,即添加了 UISearchBar 的 UITableViewController 没有显示。如果您发现自己处于这种情况,请仔细检查您是否真的在打电话:

initWithNibName:@"MyNibName" bundle:nil

初始化您的视图控制器,而不是常见的表视图初始化:

initWithStyle:UITableViewStylePlain

我愚蠢地将搜索栏添加到 Nib,然后使用样式 init 加载它(完全跳过 Nib 并从头开始加载表格视图)

于 2010-11-13T19:12:49.953 回答
2

尝试将 tableView 的 tableHeaderView 设置为 searchBar。

self.tableView.tableHeaderView = searchBar;

如果您使用的是 IB,请务必连接插座以使其被引用。

于 2012-08-15T19:12:18.640 回答
2

试试这个,它对我有用:

- (void)viewDidAppear:(BOOL)animated {
     [super viewDidAppear:animated];
     self.tableView.tableHeaderView = _searchBar;
     [_searchBar becomeFirstResponder];
}

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {
     [_searchBar resignFirstResponder];
     self.tableView.tableHeaderView = _searchBar;
}

-(void) scrollViewDidScroll:(UIScrollView *)scrollView 
{
    searchBar.frame = CGRectMake(0,MAX(0,scrollView.contentOffset.y),320,44);
}
于 2012-11-27T11:53:56.443 回答
0

如果您将视图控制器设置为标签栏控制器的一部分,除了 IB 中的“类”属性外,还要设置“NIB 名称”属性。我需要几个小时才能弄清楚。

于 2012-05-29T17:50:48.870 回答
-1

修复了使用带有控制器的 UISearchBar。

于 2010-04-02T00:19:39.077 回答