iOS UIScrollView的一个特性

1如果UIScrollView 的contentSize.height >

scrollView.bounds.size.height - scrollView.contentInset.top - scrollView.contentInset.bottom

, 则scrollView就可以滚动,否则无法滚动

并且最大的滚动范围就是 contentSize.height - (

scrollView.bounds.size.height - scrollView.contentInset.top - scrollView.contentInset.bottom

这里说的是自然滚动,就是在用户松手的情况下

能滚动的最大范围

并且,我们通过代码 [uiscrollView setContentOffset:animated:YES]

或者 [uiscrollView setContentOffset:cgpointmake]设置的

都只能是自动滚动能达到的位置,即 在contentSize.height - (

scrollView.bounds.size.height - scrollView.contentInset.top - scrollView.contentInset.bottom)之内,否则即使设置了,也会因为

contentSize不够而导致失败

2

两个滚动方法的不同

复制代码
[uiscrollView setContentOffset:animated:YES]

会出发scrollView 的 scrollViewDidScroll代理方法

复制代码
[uiView animatedwithduration:0.2 animated:^{
[uiscrollView setContentOffset:animated:NO]
}];

不会触发scrollViewDidScroll代理方法

相关推荐
2501_915921431 小时前
iOS 描述文件制作过程,从 Bundle ID、证书、设备到描述文件生成后的验证
android·ios·小程序·https·uni-app·iphone·webview
新手村领路人2 小时前
macos如何查看修改系统变量或用户变量
macos
旭日跑马踏云飞2 小时前
【本地玩AI】在macOS+AppleSilicon安装ComfyUI
人工智能·macos
June bug3 小时前
【配环境】iOS项目开发环境
ios
旭日跑马踏云飞3 小时前
【向日葵】macOS连接windows时剪贴板不生效
macos
前端不太难3 小时前
Flutter / RN / iOS 的状态策略,该如何取舍?
flutter·ios·状态模式
CrankZ4 小时前
[开源] 软软启动台 - 支持 Windows 和 macOS 的软件启动台(Launchpad)
macos
七夜zippoe4 小时前
Python多线程性能优化实战:突破GIL限制的高性能并发编程指南
python·macos·多线程·读写锁·gil·rcu
weixin_462446235 小时前
使用 pip3 一键卸载当前环境中所有已安装的 Python 包(Linux / macOS / Windows)
linux·python·macos
2501_9159090614 小时前
如何保护 iOS IPA 文件中资源与文件的安全,图片、JSON重命名
android·ios·小程序·uni-app·json·iphone·webview