(六一福利)
- 子樹: 嘿, 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 : 以父控件內容的左上角為坐標原點
-
以上這些, 看下面的圖
圖0
- TabV: 那些cell應該都在俺身上呢, 你咋畫那么遠?
- 子樹: 畫工不行, 只能猶抱琵琶半遮面了
- TabV: .....
二 小妖精的各種常見情景
-
沒有cell, 沒有contentInset, 沒有tableHeaderView/tableFooterView,類似:
圖1
- TabV; 啥? 這情況你都能出現? 我上面的數據呢? 我的內容呢?
- 子樹: 額, 我再去查下源碼....
-
沒有cell, 沒有contentInset, 有tableHeaderView/tableFooterView,類似:
圖2
- TabV; 這次還算不錯, 總算把我的內容恰好穿在身上, 但是, 說好的常見的情景呢? 這情景常見?
- 子樹: 額, 只有header和footer, 這不是為了展示一下你的衣(Nei)服(Rong)么?
- 有cell, 沒有contentInset, 沒有tableHeaderView/tableFooterView, 類似圖0, 這里就不上圖了.
- 子樹: 這應該是最簡單最常見情況了吧
- TabV: Bingo~ 你說的對
-
有cell, 有contentInset, 沒有tableHeaderView/tableFooterView, 比如:
圖3
- TabV: 注意哦, top和bottom是contentInset, 是內邊距, 是磨人的小妖精, 是魔鬼的步伐
- 子樹: 有內邊距后, 可以增加小妖精的滾動范圍
-
TabV: 我滾 我上滾 下滾 怎么滾都不一樣~~~
圖4
-
有cell, 沒有contentInset, 有tableHeaderView/tableFooterView, 如
圖5
- TabV: header和footer可是我的內容哦
- 子樹: 切, 沒人跟你搶
-
有cell, 有contentInset, 有tableHeaderView/tableFooterView, 如
圖6
- TabV: 有內邊距就我就可以多滾一些啦, 自從有了內邊距, 爹地再也不擔心可惡的導航條和tabBar擋住人家的內容啦
- 子樹: 你爹地是陳塘關李靖么? 空手接白刃, 出神入化
- TabV : 不, 人家是tableView, 爹地是scrollView, 人家為自己帶鹽
-
有cell, 沒有contentInset, 沒有tableHeaderView/tableFooterView, 但是有額外的子控件{0, -44, 375, 44},如
圖7
- TabV : 那個啥, 那個子控件是通過代碼創建, 可不是俺滴內容, 俺不要, 但是在俺的內容top處有了子控件, 俺就可以滾得更遠啦;
- 子樹 : 是滑動更遠了, 不是滾.....
- TabV : 都一樣都一樣
-
有cell, 沒有contentInset, 有tableHeaderView/tableFooterView, 但是有額外的子控件{0, -44, 375, 44}, 如
圖8
- TabV : 看好啦, 子控件是會跑到俺的內容外面的, header可是俺滴內容
- 子樹 : 又來, 真沒人跟你搶
-
有cell, 有contentInset, 有tableHeaderView/tableFooterView, 但是有額外的子控件{0, -44, 375, 44}, 如
圖9
- TabV : 嘻嘻, 內邊距top和子控件可不是俺滴內容, 為了成為俺滴小弟, 居然打(Chong)了(Die)起來;
- 子樹 : 這話叫我咋接
... - TabV : 你不咋繼續了?
- 子樹 : 暫時我就想到這么幾種情景;
- TabV : 切, 才這9種啊? 而且, 居然還不上代碼
- 子樹 : 這需要上代碼?
- TabV : 不需要么? 大概是懶在做怪
- 子樹: 需要么? 但是, 但是, 但是, 重要的事說三遍
- TabV : 重要不是"但是", 是但是后面滴
- 子樹 : 但是大伙以后用到tableView這個小妖精的時候
- TabV : 遇到問題就多想想我的這幾個屬性和原理
- 子樹 : 話都被你搶完了, 跟大伙說拜拜啦
- TabV : 等等, 如果各位大神還發現本小妖的其他的^&#@$?*!&, 反正就是各種啦, 歡迎補充, 另外, 發現或者驗證子樹的不對的地方, 歡迎下方留言, 嘻嘻, 哈哈哈哈
- 子樹 : 話真的都被你說話了.....
- TabV : 拜拜, 大伙