iOS开发UIScrollView单边回弹效果 2021-06-08 前进路上 暂无评论 2826 次阅读 本文发布于2021-06-08, 文章内容或资源可能已经失效,仅供参考,谢谢。 最近在实现一个需求,实现方案需要让UIScrollView支持单边回弹效果,也就是只有顶部支持下拉回弹,同时底部不能有回弹效果。 一开始我想的是在`UIScrollViewDelegate`的代理方法`scrollViewDidScroll:`中添加处理逻辑,当scrollView划到底部时就把回弹属性`bounces`设为`NO`,但实践发现效果不佳。 ------------ 最后在[stackoverflow.com](https://stackoverflow.com/questions/14084657/uiscrollview-disable-vertical-bounce-only-at-bottom "stackoverflow.com")找到一个不错的解决方法。这个方法比较简单而且效果完美。这里记录一下。 方法的思想就是当scrollView划到底部或者更往下时把scrollView的偏移量`contentOffset`设置到正好底部位置,用户是不会察觉到这个过程的。 ```objective-c - (void)scrollViewDidScroll:(UIScrollView *)scrollView { if (scrollView.contentOffset.y + scrollView.frame.size.height >= scrollView.contentSize.height) { [scrollView setContentOffset:CGPointMake(scrollView.contentOffset.x, scrollView.contentSize.height - scrollView.frame.size.height)]; } } ``` 设置其他三个边单边回弹的方法类似。 标签: iOS开发 如果您对此页面有任何问题或建议,请在本站留言,或联系邮箱me[at]zkk.me本网站部分内容转载自其他网站,如有侵权,请联系博主