2012-04-03 75 views
1

我有一个带有表格部分,单元格和tableFooterView的简单表格。TableView捕捉到最后一个单元格的底部而不是TableFooterView

页脚只是一个带有阴影渐变的图像。当我滚动到底部时,我希望桌子对齐到最后一个单元格的底部,并且只在滚动时才显示阴影,然后它应该回到最后一个单元格的底部,从而隐藏页脚再次。

我试图寻找这个,但我似乎没有找到正确的关键字(仍然是新的xcode和一切神秘/长名称),我发现是所有人想要启用/禁用反弹,或者希望将自定义按钮添加到页脚的人。

任何人都可以指向正确的方向吗?

回答

0

A UIScrollViewUITableView的超类,可以是一个悲惨的生物。有太多的行为被编入其中,有时看起来在纸上似乎是一个简单的命题可能很难。除此之外,这个一个表视图,它变得更糟。

如果你有决心使用UITableViewtableFooterView属性来做到这一点,我已经使用了有限的(非常)成功:

这些UIScrollViewDelegate方法,您的视图控制器可能已经表视图的委托。

- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{ 
    UIView *tableViewFooter = _tableView.tableFooterView; 
    CGFloat maxContentOffsetY = tableViewFooter.frame.origin.y - scrollView.frame.size.height; 
    if (scrollView.contentOffset.y > maxContentOffsetY){ 
    //if (targetPoint.y > maxContentOffsetY){ 
     [scrollView setContentOffset:CGPointMake(0, maxContentOffsetY) animated:YES]; 
    } 
} 
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{ // called when scroll view grinds to a halt 
    // Check offset and correct if we landed below the correct offset 
    UIView *tableViewFooter = _tableView.tableFooterView; 
    CGFloat maxContentOffsetY = tableViewFooter.frame.origin.y - scrollView.frame.size.height; 
    if (scrollView.contentOffset.y > maxContentOffsetY){ 
     [scrollView setContentOffset:CGPointMake(0, maxContentOffsetY) animated:YES]; 
    } 
} 

我会建议简单地向您的视图控制器的视图属性添加一个渐变。这样,当表格滚动出屏幕时,你会看到它后面的渐变。然后你将获得大部分你想要的免费行为。

0

您可以将高度为0px的页脚视图与UIImageView子视图的高度为200px或更多的位置放在您的渐变位置。 然后将页脚设置为不剪辑子视图。

现在,当您滚动浏览表格视图的内容时,页脚将向上移动并显示其子视图。

相关问题