UISearchBar 在 UTableViewHeader 中未正确显示
Posted
技术标签:
【中文标题】UISearchBar 在 UTableViewHeader 中未正确显示【英文标题】:UISearchBar not displaying correctly in UTableViewHeader 【发布时间】:2011-04-24 02:16:42 【问题描述】:以编程方式添加了 uisearch bar 和 uisearchbardisplaycontoller(NO XIB),搜索栏排序显示在表格标题中,但不起作用。
如果 setActive:YES, setActive:NO 在显示控制器上看起来很好并且可以正常工作
任何想法为什么会发生这种情况?
提前致谢
searchBar = [[UISearchBar alloc] init];
[self setSearchBarDisplayController:[[UISearchDisplayController alloc] initWithSearchBar:searchBar contentsController:self]];
[[self searchBarDisplayController] setDelegate:self];
[[self searchBarDisplayController] setSearchResultsDataSource:self];
summaryTableView = [[[UITableView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 416.0) style:UITableViewStylePlain] autorelease];
[summaryTableView setDataSource:self];
[summaryTableView setDelegate:self];
[summaryTableView setBackgroundColor:[UIColor clearColor]];
[summaryTableView setSeparatorStyle:UITableViewCellSeparatorStyleSingleLine];
[summaryTableView setRowHeight:[PayCell height]];
[summaryTableView setTableHeaderView:searchBar];
[self.view addSubview:summaryTableView];
[searchBarDisplayController setActive:YES];
[searchBarDisplayController setActive:NO];
【问题讨论】:
【参考方案1】:会不会是你没有设置搜索显示控制器的searchResultsDelegate?
self.searchDisplayController.searchResultsDelegate = self;
在Developer Site 上对此进行了引用。没有看到更多代码,很难说,但不设置它可能是你问题的根源。摘录如下:
searchResultsDelegate 的委托 搜索所在的表视图 显示结果。
@property(非原子,赋值) ID 搜索结果代表讨论 默认为零。
【讨论】:
谢谢,但是设置 searchResultsDelegate 并没有做任何事情。代码非常简单……一个带有 UITableViewDelegate、UITableViewDataSource、UISearchBarDelegate、UISearchDisplayDelegate 的视图,它创建了一个 searchBarDisplayController、searchbar 和一个 uitable。表视图的所有委托方法都已实现,并用单行加载表。搜索委托已实现但为空只返回默认值。在这一点上,我只是试图让搜索栏正确显示,必须在 searchBarDisplayController 上调用 setActive:YES setActive:NO。以上是关于UISearchBar 在 UTableViewHeader 中未正确显示的主要内容,如果未能解决你的问题,请参考以下文章
单击 UISearchBar 的取消按钮后,如何使用 UISearchBar 刷新我的 UITableView?