UISearchBar无法在UTableViewHeader中正确显示

时间:2011-04-24 02:16:43

标签: objective-c cocoa-touch uitableview uisearchbar uisearchbardelegate

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

if 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 个答案:

答案 0 :(得分:0)

您是否未为搜索显示控制器设置searchResultsDelegate?

    self.searchDisplayController.searchResultsDelegate = self;

Developer Site上引用了这个。没有看到更多的代码,很难说,但不设置它可能是你的问题的根源。这是一段摘录:

  

searchResultsDelegate for的委托   在其中搜索的表视图   显示结果。

     

@property(非原子,分配)   ID   searchResultsDelegate讨论   默认为零。