TableView标头,如iOS 7 Mail和Messages App

时间:2014-06-27 21:19:00

标签: ios objective-c uitableview ios7 uiscrollview

编辑:我想我正在缩小这个问题。我刚刚找到了一种更简单的方法来重现我想要的东西。如果使用故事板创建新项目,请在tableview控制器上拖动并将搜索栏拖动为tableview的子视图。如果你运行它(带有一些虚拟单元格),并且滚动显示搜索栏的大约一半,搜索栏将捕捉到视图的顶部。如果您通过拖动UIView而不是搜索栏来尝试此操作,则此行为不再发生。如何将UIView作为子视图获得此行为?

希望这让人们更清楚,谢谢你们。

我的普通样式表视图中有一个标题,我正在实现它:

-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{

    return 51;
}

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {

    SegmentedHeaderView *header = [[SegmentedHeaderView alloc]initWithFrame:CGRectMake(0, 0, 320, 51)];

    return header;
}

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    CGFloat sectionHeaderHeight = 51;
    if (scrollView.contentOffset.y<=sectionHeaderHeight&&scrollView.contentOffset.y>=0) {
        scrollView.contentInset = UIEdgeInsetsMake(-scrollView.contentOffset.y, 0, 0, 0);
    } else if (scrollView.contentOffset.y>=sectionHeaderHeight) {
        scrollView.contentInset = UIEdgeInsetsMake(-sectionHeaderHeight, 0, 0, 0);
    }
}

我希望标题与tableview一起滚动而不是坚持到顶部,它正确地做到了。但是,当我滚动到顶部时,我希望标题像iOS 7中的消息应用程序中的搜索栏标题一样工作。在消息应用程序中,当您滚动并在搜索栏的中途停止时,要么搜索条形图粘在视图的顶部,或者第一个细胞粘在视图的顶部。

当用户停止滚动部分标题视图显示标题跳转时,我该如何实现呢?

编辑:我也可以通过邮件应用中的搜索栏看到我想要的行为。

0 个答案:

没有答案