tableView中的搜索栏并重新加载数据

时间:2014-03-12 16:44:52

标签: ios iphone objective-c uitableview uisearchbar

我无法搜索,因为我的搜索栏是tableView的标题,然后我重新加载tableView我没有搜索结果。

我知道有很多方法可以解决它,但更明智的是什么?

我的代码

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)sectionIndex
{
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 10, 270, kRowHeight)];
self.searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 270, kRowHeight)];
self.searchBar.delegate = self;
view.opaque = NO;
view.backgroundColor = [UIColor clearColor];
self.searchBar.opaque = NO;
self.searchBar.translucent = NO;
self.searchBar.backgroundColor = [UIColor clearColor];
[view addSubview: self.searchBar];
self.searchBar.barStyle = UISearchBarStyleDefault;
self.searchBar.autoresizingMask =  UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin ;
self.searchBar.barTintColor = [UIColor clearColor];

return view;

}

我想要那个然后我滚动tableView我的searchBar将消失在顶部然后我向上滚动它会出现。这么简单吗?

1 个答案:

答案 0 :(得分:0)

您需要使用tableHeaderView而不是section header。只需放入viewDidLoad

即可
UISearchBar* searchBar = [[UISearchBar alloc]initWithFrame:CGRectMake(0, 0, 270, kRowHeight)];
self.tableView.tableHeaderView = searchBar;