0

以编程方式添加了uisearch栏和uisearchbardisplaycontoller(NO XIB),并且搜索栏sorta显示在表格标题中,但不起作用。UISearchBar在UTableViewHeader中无法正确显示

如果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]; 

回答

0

难道说你还没有建立searchResultsDelegate的搜索显示控制器?

self.searchDisplayController.searchResultsDelegate = self; 

Developer Site上提到了这一点。没有看到更多的代码,很难说,但没有设定它可能是你的问题的根源。下面是摘录:

searchResultsDelegate为 在显示搜索结果 表视图的委托。

@property(nonatomic,assign) id searchResultsDelegate Discussion 默认为零。

+0

谢谢,但设置searchResultsDelegate没有做任何事情。代码非常简单...使用UITableViewDelegate,UITableViewDataSource,UISearchBarDelegate,UISearchDisplayDelegate创建一个searchBarDisplayController,搜索栏和一个可用的视图。表视图的所有委托方法都已实现,并使用单行装入表。搜索委托实现,但空只是返回默认值。在这一点上,我只是试图让searchbar正确显示,而不必在searchBarDisplayController上调用setActive:YES setActive:NO。 – SteveG 2011-04-24 15:40:39