tableview中的搜索栏

时间:2012-12-27 08:34:51

标签: iphone objective-c ios uitableview uisearchbar

我正在尝试为表格设置搜索栏,所以任何人都可以告诉我,当表格向上/向上拉动时是否有可能有uisearchabr而对于其他情况搜索栏没有出现在屏幕上。可能吗?如果是,那怎么办?

提前谢谢

3 个答案:

答案 0 :(得分:0)

您可以实现scrollViewDelegate scrollViewDidScroll并检查contentOffset以显示/隐藏搜索栏。由于表视图是UIScrollView的子类,因此您可以依赖此委托方法来决定何时显示/隐藏它。

基本上,当contentOffset表示向上滚动的位置时,您可以显示此搜索栏,当contentOffset值开始更改时,您可以隐藏搜索栏。使用搜索栏的隐藏属性来显示/隐藏它。您还可以使用removeFromSuperView / addSubview方法。

答案 1 :(得分:0)

您可以使用下面的代码或概念。概念在滚动视图委托功能中,您将检查内容偏移量并在表格视图标题中显示设置搜索栏对象。

代码:

//MARK: -UIScrollViewDelegate
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
    if (scrollView.contentOffset.y <= - 65.0f) {
        [self.tableView setTableHeaderView:self.searchBar];
    }
}

答案 2 :(得分:-1)

成为UIScrollViewDelegate的委托并实现其委托方法, 在此开始滚动表格然后取消隐藏您的searchBar并更改tableView的框架。

-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    [mySearchBar setHidden:NO];
    [quotesTableView setFrame:CGRectMake(0, 44, 320, 416)];
}