如何让UITableView
在到达底部时反弹,而不是在顶部反弹。基本上我正在添加UIImageView
作为我的TableView's
部分标题,但是目前如果我在顶部拉起来,我的UIImageView
和我的UINavigationBar
之间会有一个难看的空间。< / p>
我看这个question,但我真的不明白解决方案。有人会介意吗?
答案 0 :(得分:10)
您链接的问题有两种不同的解决方案。作为表视图的委托,您已经是滚动视图委托,因此您可以实现类似的东西(这是在另一个问题中没有标记为正确的答案......):
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
scrollView.bounces = (scrollView.contentOffset.y > 10);
}
答案 1 :(得分:4)
contentOffset是帧的原点(0,0)与第一个单元格的原点之间的距离。
最初,contentOffset为零。如果您滚动到列表顶部(向下拖动手指),则contentOffset将为负数。如果你向下滚动列表(第一个单元格在框架上方),那么contentOffset将是正数。
#pragma mark - UIScrollViewDelegate
-(void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGFloat maxOffset = (scrollView.contentSize.height - scrollView.frame.size.height);
CGFloat originOffset = 0;
// Don't scroll below the last cell.
if (scrollView.contentOffset.y >= maxOffset) {
scrollView.contentOffset = CGPointMake(scrollView.contentOffset.x, maxOffset);
// Don't scroll above the first cell.
} else if (scrollView.contentOffset.y <= originOffset) {
scrollView.contentOffset = CGPointZero;
}
}