(六一福利)
- 子树: 嘿, tableView, 你这个刺头的小妖精, 接招吧!
- TabV: 人家哪里刺头啦? 5555, 爹地scrollView才刺头呢
- 子树: 一个一个来, 今天就你了, 看贱!
- TabV: 切, 拿错剑啦, 这两下子就想让本小妖臣服? 回家继续撸代码去吧
- 子树: .....居然被你鄙视了, 看Xcode~
一 小妖精的部分属性
本篇以竖直方向为主
- 什么是tableView的内容(content)
- cell
- tableHeaderView/tableFooterView
- sectionHeader/sectionFooter
TabV: 这些才是俺的内容, 别的可不是
contentSize.height : 内容的高度
contentOffset.y : 内容的偏移量(frame的top - content的top)
contentInset : 内容周边的距离(内边距)
Frame 可视范围
- frame.size.height : 矩形框的高度
- frame : 以父控件内容的左上角为坐标原点
-
以上这些, 看下面的图
- TabV: 那些cell应该都在俺身上呢, 你咋画那么远?
- 子树: 画工不行, 只能犹抱琵琶半遮面了
- TabV: .....
二 小妖精的各种常见情景
-
没有cell, 没有contentInset, 没有tableHeaderView/tableFooterView,类似:
- TabV; 啥? 这情况你都能出现? 我上面的数据呢? 我的内容呢?
- 子树: 额, 我再去查下源码....
-
没有cell, 没有contentInset, 有tableHeaderView/tableFooterView,类似:
- TabV; 这次还算不错, 总算把我的内容恰好穿在身上, 但是, 说好的常见的情景呢? 这情景常见?
- 子树: 额, 只有header和footer, 这不是为了展示一下你的衣(Nei)服(Rong)么?
- 有cell, 没有contentInset, 没有tableHeaderView/tableFooterView, 类似图0, 这里就不上图了.
- 子树: 这应该是最简单最常见情况了吧
- TabV: Bingo~ 你说的对
-
有cell, 有contentInset, 没有tableHeaderView/tableFooterView, 比如:
- TabV: 注意哦, top和bottom是contentInset, 是内边距, 是磨人的小妖精, 是魔鬼的步伐
- 子树: 有内边距后, 可以增加小妖精的滚动范围
-
TabV: 我滚 我上滚 下滚 怎么滚都不一样~~~
-
有cell, 没有contentInset, 有tableHeaderView/tableFooterView, 如
- TabV: header和footer可是我的内容哦
- 子树: 切, 没人跟你抢
-
有cell, 有contentInset, 有tableHeaderView/tableFooterView, 如
- TabV: 有内边距就我就可以多滚一些啦, 自从有了内边距, 爹地再也不担心可恶的导航条和tabBar挡住人家的内容啦
- 子树: 你爹地是陈塘关李靖么? 空手接白刃, 出神入化
- TabV : 不, 人家是tableView, 爹地是scrollView, 人家为自己带盐
-
有cell, 没有contentInset, 没有tableHeaderView/tableFooterView, 但是有额外的子控件{0, -44, 375, 44},如
- TabV : 那个啥, 那个子控件是通过代码创建, 可不是俺滴内容, 俺不要, 但是在俺的内容top处有了子控件, 俺就可以滚得更远啦;
- 子树 : 是滑动更远了, 不是滚.....
- TabV : 都一样都一样
-
有cell, 没有contentInset, 有tableHeaderView/tableFooterView, 但是有额外的子控件{0, -44, 375, 44}, 如
- TabV : 看好啦, 子控件是会跑到俺的内容外面的, header可是俺滴内容
- 子树 : 又来, 真没人跟你抢
-
有cell, 有contentInset, 有tableHeaderView/tableFooterView, 但是有额外的子控件{0, -44, 375, 44}, 如
- TabV : 嘻嘻, 内边距top和子控件可不是俺滴内容, 为了成为俺滴小弟, 居然打(Chong)了(Die)起来;
- 子树 : 这话叫我咋接
... - TabV : 你不咋继续了?
- 子树 : 暂时我就想到这么几种情景;
- TabV : 切, 才这9种啊? 而且, 居然还不上代码
- 子树 : 这需要上代码?
- TabV : 不需要么? 大概是懒在做怪
- 子树: 需要么? 但是, 但是, 但是, 重要的事说三遍
- TabV : 重要不是"但是", 是但是后面滴
- 子树 : 但是大伙以后用到tableView这个小妖精的时候
- TabV : 遇到问题就多想想我的这几个属性和原理
- 子树 : 话都被你抢完了, 跟大伙说拜拜啦
- TabV : 等等, 如果各位大神还发现本小妖的其他的^&#@$?*!&, 反正就是各种啦, 欢迎补充, 另外, 发现或者验证子树的不对的地方, 欢迎下方留言, 嘻嘻, 哈哈哈哈
- 子树 : 话真的都被你说话了.....
- TabV : 拜拜, 大伙