是否有可能以某种方式降低UITableView顶部或末尾的弹跳高度?
谢谢
答案 0 :(得分:2)
您可以在contentOffset
方法中检查并设置scrollViewDidScroll
属性:
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if (scrollView.contentOffset.y <= -100)
{
CGPoint offset = scrollView.contentOffset;
offset.y = -100;
scrollView.contentOffset = offset;
}
}
答案 1 :(得分:1)
我对此表示怀疑。滚动视图的弹性是一个实现细节,UIScrollView
类似乎没有显示允许您调整它的属性。
答案 2 :(得分:1)
通过UIScrollView
属性bounces
完全禁用它。这几乎是一件好事。
答案 3 :(得分:1)
作为René Fischer的补充,请遵循完整的代码,以减少顶部和底部的反弹。
Swift版本:
override func scrollViewDidScroll(scrollView: UIScrollView) {
var offset = scrollView.contentOffset;
if (offset.y < bounceLimit) {
offset.y = bounceLimit;
scrollView.contentOffset = offset;
}
let offsetY = scrollView.contentSize.height - scrollView.bounds.height - offset.y
if (offsetY < bounceLimit) {
offset.y = scrollView.contentOffset.y - (bounceLimit + abs(offsetY));
scrollView.contentOffset = offset;
}
}
Obj-C版本:
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
CGPoint offset = scrollView.contentOffset;
if (offset.y <= -100)
{
offset.y = -100;
scrollView.contentOffset = offset;
}
CGFloat offsetY = scrollView.contentSize.height - scrollView.bounds.height - offset.y
if (offsetY < bounceLimit) {
offset.y = offset.y - (bounceLimit + abs(offsetY));
scrollView.contentOffset = offset;
}
}
注意:表格的高度(contentSize.height
)应至少为设备屏幕高度减去反弹限制。
答案 4 :(得分:-1)
您不能禁用或启用滚动视图的反弹属性