胡说八道 - 2 UIScrollView 之我见

1 简单理解

  • 可以把 UIScrollView 看做是一个探照灯。探照灯的尺寸就是 UIScrollView 的尺寸。
  • UIScrollVIew 的 ContentView 可以看做是在探照灯下的内容。
    想象一个场景:你端着探照灯,查看一张地图,地图大得很,只能看到探照灯下面的内容。你为了看到更多的内容:1 自己很勤快:自己动探照灯;2 自己不想动,保持探照灯不动,只移动地图,地图从上往下动,也能看到所有的内容。
  • 最最重要的:1 带着坐标系去理解 ScrollView 和 ContentView;2 动就只动一个,不要两个都动。
scrollView-1.png

注意:1 此时若动 ScrollView ,则保持 ContentView 的坐标原点不变化(改变 ScrollView 的 Bounds )。第二种理解:保持 探照灯 ScrollVIew 的坐标原点不动,移动 ContentView 的 Bounds。

2 基本属性

从文顶顶的博客中盗来的图片。

ScrollView-2.png
  • contentSize
  • contentOffset
  • contentInset
    [注]:一个用户习惯:手指往上滑动时,想要看到下面更多的内容。可以理解为:1 将 ContentView 往上挪 2 或者ScrollView 往下挪,两者不要搞混。自然的用户行为是:手指往上滑动时,就可以看做是 1 将ContentView 往下挪 2 将 ScrollVIew 往上挪

3 实现几个效果

  1. 实现类似新浪微博的个人中心效果
    1.监听 ContentOffset.y 的改变
    2.设置导航栏的隐藏和显示
  2. 实现新特性页面
    1.监听 ContentOffset.x 的改变,计算对应的页码
    2.设置按钮的显示与隐藏
  3. 简书首页效果实现
  4. 设置 ContentInset,让内容不要被导航栏挡住
  5. 在 ScrollVIew 上添加 UITableViewController 的视图
    问题:此处的 tableView 的内容为什么能穿透导航栏显示?
  6. 自定义流水布局实现卡片放大
  7. 计算每个 Rectangle 中的 item 的显示布局
  8. Item 中的卡片的中心点的计算,以 ContentView 的原点为参照点。这里一定借助 ScrollView 和 ContentView 之间的坐标系理解
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容