胡说八道 - 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 基本属性

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

胡说八道 - 2 UIScrollView 之我见_第1张图片
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 之间的坐标系理解

你可能感兴趣的:(胡说八道 - 2 UIScrollView 之我见)