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代理方法

相关推荐
BianHuanShiZhe11 小时前
ios 26的tabbar 背景透明
macos·objective-c·cocoa
ai_xiaogui11 小时前
AIStarter跨平台完工:Win/Mac/Linux一键部署Stable Diffusion
linux·macos·stable diffusion·aistarter·kritaai·跨平台部署
m0_4955627814 小时前
Swift-GCD和NSOperation
ios·cocoa·swift
Macbethad14 小时前
Typora 精通指南:掌握高效 Markdown 写作的艺术
前端·macos·前端框架
二流小码农15 小时前
鸿蒙开发:this的指向问题
android·ios·harmonyos
杨凯凡15 小时前
Docker环境搭建:Windows/macOS/Linux全平台教程
windows·macos·docker
马拉萨的春天15 小时前
iOS的事件响应链
macos·ios·cocoa
bl4ckpe4ch16 小时前
mac安装burpsuite专业版2025中文教程
macos·网络安全·抓包·burpsuite
猪哥帅过吴彦祖19 小时前
Flutter 系列教程:应用导航 - Navigator 1.0 与命名路由
android·flutter·ios
2501_9160088920 小时前
iOS 跨平台开发实战指南,从框架选择到开心上架(Appuploader)跨系统免 Mac 发布全流程解析
android·macos·ios·小程序·uni-app·iphone·webview