据说是在IOS8之后,但是我是在iOS10中遇到的问题,之前使用的下拉刷新可能会抖一下,在滑动很快的时候 在下拉松开后,scrollView即将回到“刷新中…”的状态过程中的时候。

抖动的原因:
ScrollViewDidEndDragging => setContentInset:
为了保证在“Loading”的状态下,下拉刷新控件可以展示,我们对contentInset做了修改,增加了inset的top. 那这样一步操作为什么会导致scrollView抖动一下呢。
我在scrollViewDidScroll:中打了个断点,来看看在setContentInset:之后发生了什么事情。 我设置的inset.top = 64; 结果发现scrollView的contentOffset发生了这样的变化:
(0, -64) => (0, -133) => (0, -64)
由以上数据可以看出,contentOffset在这个过程中先被向下移动了一段,再回归正常。 猜测问题原因:
下拉松开之后, scrollView本身的 bounce 效果 与 当前设置inset冲突了
初步尝试: async
知道问题的原因后,我第一思路是避开这个冲突,于是我把 setContentInset: 的方法异步调用一下:
dispatch_async(dispatch_get_main_queue(), ^{
[UIView animateWithDuration:kAnimationDuration animations:^{
self.scrollView.contentInset = inset;
} completion:^(BOOL finished) {
}];
});
尝试了一下,问题没有了。但是后来还是有人遇到过这样的问题, 经过验证,确实这个问题还是没有被完全修复。
二次修改: 强设contentOffset
既然是因为contentOffset改变导致的,我就再设置一下contentOffset应该就行了。于是二次尝试:
dispatch_async(dispatch_get_main_queue(), ^{
[UIView animateWithDuration:kAnimationDuration animations:^{
self.scrollView.contentInset = inset;
self.scrollView.contentOffset = CGPointMake(0, -inset.top);
} completion:^(BOOL finished) {
}];
});
试验结果发现,没用,问题还是存在,在这一步耗了不少时间想尽其他办法都没搞定问题,直到我将setContentOffset: 方法改为 setConentOffset:animated: 。 问题就解决了,可以看出系统里面这两个方法的实现是不同的
dispatch_async(dispatch_get_main_queue(), ^{
[UIView animateWithDuration:kAnimationDuration animations:^{
self.scrollView.contentInset = inset;
[self.scrollView setContentOffset:CGPointMake(0, -inset.top) animated:NO];
} completion:^(BOOL finished) {
}];
});
以上所述是小编给大家介绍的iOS下拉刷新 UIScrollVie异常闪动问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# ios
# 下拉刷新
# iOS横屏弹键盘的高度错误异常解决
# iOS中程序异常Crash友好化处理详解
# iOS中捕获日志与异常示例详解
# 解决iOS11图片下拉放大出现信号栏白条的bug问题
# iOS之异常与信号使用场景分析
# 是在
# 可以看出
# 小编
# 是因为
# 我在
# 在这个
# 在这
# 在此
# 都没
# 这个问题
# 我把
# 这两个
# 给大家
# 我将
# 动了
# 看在
# 所述
# 发生了什么
# 给我留言
# 遇到过
相关文章:
如何选择适配移动端的WAP自助建站平台?
建站主机选择指南:服务器配置与SEO优化实战技巧
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
安云自助建站系统如何快速提升SEO排名?
黑客如何利用漏洞与弱口令入侵网站服务器?
建站之星展会模板:智能建站与自助搭建高效解决方案
常州企业建站如何选择最佳模板?
建站主机选购指南与交易推荐:核心配置解析
如何通过wdcp面板快速创建网站?
建站主机助手选型指南:2025年热门推荐与高效部署技巧
建站之星上传入口如何快速找到?
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
北京网站制作的公司有哪些,北京白云观官方网站?
如何通过建站之星自助学习解决操作问题?
如何在新浪SAE免费搭建个人博客?
如何选择PHP开源工具快速搭建网站?
,sp开头的版面叫什么?
,想在网上投简历,哪几个网站比较好?
如何自定义建站之星模板颜色并下载新样式?
ui设计制作网站有哪些,手机UI设计网址吗?
网站制作难吗安全吗,做一个网站需要多久时间?
网站好制作吗知乎,网站开发好学吗?有什么技巧?
建站之星收费标准详解:套餐费用及年费价格表一览
如何通过WDCP绑定主域名及创建子域名站点?
建站之星与建站宝盒如何选择最佳方案?
网站制作大概要多少钱一个,做一个平台网站大概多少钱?
高端建站三要素:定制模板、企业官网与响应式设计优化
制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?
个人摄影网站制作流程,摄影爱好者都去什么网站?
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
建站之星安装后如何自定义网站颜色与字体?
如何快速搭建个人网站并优化SEO?
如何在阿里云部署织梦网站?
如何用y主机助手快速搭建网站?
早安海报制作网站推荐大全,企业早安海报怎么每天更换?
网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?
如何获取开源自助建站系统免费下载链接?
建站中国官网:模板定制+SEO优化+建站流程一站式指南
宝塔建站后网页无法访问如何解决?
网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?
中山网站推广排名,中山信息港登录入口?
c++怎么用jemalloc c++替换默认内存分配器【性能】
威客平台建站流程解析:高效搭建教程与设计优化方案
html制作网站的步骤有哪些,iapp如何添加网页?
网站企业制作流程,用什么语言做企业网站比较好?
专业网站建设制作报价,网页设计制作要考什么证?
微信h5制作网站有哪些,免费微信H5页面制作工具?
C#如何使用XPathNavigator高效查询XML
如何快速上传自定义模板至建站之星?
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
*请认真填写需求信息,我们会在24小时内与您取得联系。