iOS 滚动图滚动到顶部汇总

前一段时间做一个点击某个部位让滚动图滚动到最顶部的需求,一开始我打算使用setContentOffset,但是由于我的滚动图是一个需要加载网络数据的列表,列表在有多页的时候滚动到顶部只会执行一部分,所以验证不通过。

接下来我采取通过捕捉statusBar然后发送点击事件的方式

UIApplication *app = [UIApplication sharedApplication];if (@available(iOS 13.0, *)) {UIStatusBarManager *manager = app.keyWindow.windowScene.statusBarManager;SEL sel = NSSelectorFromString(@"handleTapAction:");if ([manager respondsToSelector:sel]) {IMP imp = [manager methodForSelector:sel];void (* func)(id, SEL, id) = (void *)imp;func(manager, sel, nil);}}else {if ([app valueForKey:@"_statusBar"]) {id statusBar = [app valueForKey:@"_statusBar"];SEL sel = NSSelectorFromString(@"touchesEnded:withEvent:");if ([statusBar respondsToSelector:sel]) {UITouch *touch = [UITouch new];NSSet *touchs = [[NSSet alloc] initWithObjects:touch, nil];IMP imp = [statusBar methodForSelector:sel];void (* func)(id, SEL, id, id) = (void *)imp;func(statusBar, sel, touchs, nil);}}}

按理说没有问题,但是如果系统更新就有可能导致今后产生未知bug。

所以以上方案都失败,因为我的滚动图是列表,但是滚动图上面有header和sectionHeader,我也不能使用scrolltoindexpath,我也不想调用layoutIfNeeded。最后采用了分段执行的方法,执行动画

[UIView animateWithDuration:0.25 animations:^{[scrollView setContentOffset:CGPointZero animated:NO];} completion:^(BOOL finished) {[scrollView setContentOffset:CGPointZero animated:YES];}];

虽然不是很完美,但是完成了需求。

iOS 滚动图滚动到顶部汇总相关推荐

  1. iOS - UITableView reloadData滚动到顶部无效问题解决

    iOS - UITableView reloadData滚动到顶部无效问题解决 参考文章: (1)iOS - UITableView reloadData滚动到顶部无效问题解决 (2)https:// ...

  2. IOS端 vux中scroll滚动自动回弹到顶部或者左侧的解决办法

    IOS端 vux中scroll滚动自动回弹到顶部或者左侧的解决办法 问题表象 在滑动的时候,偶发性出现自动回弹到顶部的现象,通过onScroll回调发现scrollTop为-1造成回弹,开始寻找为什么 ...

  3. 【Android 内存优化】自定义组件长图组件 ( 长图滚动区域解码 | 手势识别 GestureDetector | 滑动计算类 Scroller | 代码示例 )

    文章目录 一.GestureDetector 创建与设置 二.GestureDetector 触摸事件传递 三.触摸滑动操作 四.惯性滑动操作 五.长图滑动组件代码示例 六.运行效果 七.源码及资源下 ...

  4. 解决 iframe 在 ios 上不能滚动的问题

    解决 iframe 在 ios 上不能滚动的问题 参考文章: (1)解决 iframe 在 ios 上不能滚动的问题 (2)https://www.cnblogs.com/xieze/p/670211 ...

  5. JQuery自定义插件详解之Banner图滚动插件

      前  言 JRedu JQuery是什么相信已经不需要详细介绍了.作为时下最火的JS库之一,JQuery将其"Write Less,Do More!"的口号发挥的极致.而帮助J ...

  6. 原生JS和jQuery实现banner图滚动那些事

      前  言 阿q 作为一个准前端学员,banner图可是很重要的呢.本人,小白一只,给大家分享几个刚刚学习的基础banner图事件.~~~ 1. 小广告图滚动播放 1.1HTML代码 首先,创建基本 ...

  7. 滚动到底部或顶部响应的ScrollView使用

    本文介绍滚动到底部或顶部响应(如加载更多)的ScrollView的使用.网上关于到达底部加载更多的listView示例很多,对于ScrollView却寥寥无几,下面介绍使用自定义的ScrollView ...

  8. 解决iframe在ios中无法滚动的bug

    https://fly.layui.com/jie/32020/(无效) 修改方法: 1.在嵌入进iframe的每个页面的<body>里面加个id,如<body id="i ...

  9. 响应式滚动图懒加载 element ui el-carousel 组件优化代码

    响应式滚动图懒加载 element ui  el-carousel 组件优化代码 懒加载插件vue-lazyload //main.js import VueLazyload from 'vue-la ...

最新文章

  1. Linux下通过gettimeofday函数获取程序段执行时间
  2. Theano学习笔记(三)——图结构
  3. 部署Chromedriver
  4. 嵌入式LED驱动程序
  5. 技术领导力实战笔记一
  6. 高性能网站架构设计之缓存篇(5)- Redis 集群(上)
  7. 30年货币翻了300倍!如何能跑赢印钞机?
  8. 服务器2012r2系统安装数据库,数据库图文详解Windows Server2012 R2中安装SQL Server2008...
  9. matlab生产计划问题,用MATLAB解决综合生产计划编制过程中的优化问题
  10. 传递function_boost库function与bind
  11. c语言回文数递归,c语言问题~~~回文数!!急,拜托高人指点!!
  12. compress命令--Linux命令应用大词典729个命令解读
  13. android 自定义库,Android自定义Log库
  14. java基础—抽象类介绍
  15. 配置NTP网络时间服务
  16. Android 系统(252)---Android:BLE智能硬件开发详解
  17. matplotlib(一):散点图
  18. 在Unity编辑器中开发遇到问题BUG如何调试解决?
  19. U-BOOT 编译过程
  20. springboot - 应用实践(N)使用springboot内置的@Scheduled

热门文章

  1. 字符串操作与正则表达式
  2. c# typeof() 和 GetType()的区别
  3. 对于生活服务小公司网站的看法
  4. Web网站的性能测试工具
  5. 你是一个职业的页面重构工作者吗?
  6. 用prototype 方式来创建客户端组件类
  7. 解决Loadrunner报not writing pre_cci.ci问题
  8. 表单重复提交的解决方法
  9. laravel中TokenMismatchException异常处理
  10. 什么是“.NET Core”?