iOS 滚动图滚动到顶部汇总
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 滚动图滚动到顶部汇总相关推荐
- iOS - UITableView reloadData滚动到顶部无效问题解决
iOS - UITableView reloadData滚动到顶部无效问题解决 参考文章: (1)iOS - UITableView reloadData滚动到顶部无效问题解决 (2)https:// ...
- IOS端 vux中scroll滚动自动回弹到顶部或者左侧的解决办法
IOS端 vux中scroll滚动自动回弹到顶部或者左侧的解决办法 问题表象 在滑动的时候,偶发性出现自动回弹到顶部的现象,通过onScroll回调发现scrollTop为-1造成回弹,开始寻找为什么 ...
- 【Android 内存优化】自定义组件长图组件 ( 长图滚动区域解码 | 手势识别 GestureDetector | 滑动计算类 Scroller | 代码示例 )
文章目录 一.GestureDetector 创建与设置 二.GestureDetector 触摸事件传递 三.触摸滑动操作 四.惯性滑动操作 五.长图滑动组件代码示例 六.运行效果 七.源码及资源下 ...
- 解决 iframe 在 ios 上不能滚动的问题
解决 iframe 在 ios 上不能滚动的问题 参考文章: (1)解决 iframe 在 ios 上不能滚动的问题 (2)https://www.cnblogs.com/xieze/p/670211 ...
- JQuery自定义插件详解之Banner图滚动插件
前 言 JRedu JQuery是什么相信已经不需要详细介绍了.作为时下最火的JS库之一,JQuery将其"Write Less,Do More!"的口号发挥的极致.而帮助J ...
- 原生JS和jQuery实现banner图滚动那些事
前 言 阿q 作为一个准前端学员,banner图可是很重要的呢.本人,小白一只,给大家分享几个刚刚学习的基础banner图事件.~~~ 1. 小广告图滚动播放 1.1HTML代码 首先,创建基本 ...
- 滚动到底部或顶部响应的ScrollView使用
本文介绍滚动到底部或顶部响应(如加载更多)的ScrollView的使用.网上关于到达底部加载更多的listView示例很多,对于ScrollView却寥寥无几,下面介绍使用自定义的ScrollView ...
- 解决iframe在ios中无法滚动的bug
https://fly.layui.com/jie/32020/(无效) 修改方法: 1.在嵌入进iframe的每个页面的<body>里面加个id,如<body id="i ...
- 响应式滚动图懒加载 element ui el-carousel 组件优化代码
响应式滚动图懒加载 element ui el-carousel 组件优化代码 懒加载插件vue-lazyload //main.js import VueLazyload from 'vue-la ...
最新文章
- Linux下通过gettimeofday函数获取程序段执行时间
- Theano学习笔记(三)——图结构
- 部署Chromedriver
- 嵌入式LED驱动程序
- 技术领导力实战笔记一
- 高性能网站架构设计之缓存篇(5)- Redis 集群(上)
- 30年货币翻了300倍!如何能跑赢印钞机?
- 服务器2012r2系统安装数据库,数据库图文详解Windows Server2012 R2中安装SQL Server2008...
- matlab生产计划问题,用MATLAB解决综合生产计划编制过程中的优化问题
- 传递function_boost库function与bind
- c语言回文数递归,c语言问题~~~回文数!!急,拜托高人指点!!
- compress命令--Linux命令应用大词典729个命令解读
- android 自定义库,Android自定义Log库
- java基础—抽象类介绍
- 配置NTP网络时间服务
- Android 系统(252)---Android:BLE智能硬件开发详解
- matplotlib(一):散点图
- 在Unity编辑器中开发遇到问题BUG如何调试解决?
- U-BOOT 编译过程
- springboot - 应用实践(N)使用springboot内置的@Scheduled