UITableView
当它到达底部而不是顶部时,我将如何允许它反弹。本质上,我正在添加一个UIImageView
作为我的TableView's
部分标题,但目前如果我在顶部拉起,我UIImageView
和我的UINavigationBar
.
我看着这个问题,但我并不真正理解解决方案。有人介意详细说明吗?
UITableView
当它到达底部而不是顶部时,我将如何允许它反弹。本质上,我正在添加一个UIImageView
作为我的TableView's
部分标题,但目前如果我在顶部拉起,我UIImageView
和我的UINavigationBar
.
我看着这个问题,但我并不真正理解解决方案。有人介意详细说明吗?
您链接到的问题有 2 种不同的解决方案。作为表视图的代表,您已经是滚动视图的代表,因此您可以实现类似的东西(这是在另一个问题中未标记为正确的答案......):
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
scrollView.bounces = (scrollView.contentOffset.y > 10);
}
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;
}
}