全屏穿透效果需要做到兩點
  1. tableView的可視范圍占據(jù)整個父控件(或者屏幕)--設(shè)置contentsize滾動范圍。

  2. 所有的cell都可以被看到,也就是說tableView中的cell不會被導(dǎo)航欄,titleView以及TabBar所遮擋--設(shè)置contentInset內(nèi)邊距。

例如:首頁控制器的view的第一個子控件是scrollView(添加子控制器視圖tableview),而且首頁控制器包裹了導(dǎo)航控制器和TabBarController,所以,scrollView的內(nèi)容上邊被擠下來64,下邊被擠上去49.

解決方案
  1. 可視范圍:

    1. 告訴系統(tǒng)不要自動調(diào)整scrollView的內(nèi)邊距

    2. 首頁控制器:

automaticallyAdjustsScrollViewInsets = NO;

經(jīng)過這個,ScrollView的內(nèi)容(tableView)確實上移了,但是還是預(yù)留了20,這個是時候通過打印知道tableView的y值是20,height = 667 - 20 = 647;
4. 設(shè)置tableView的 y = 0.
5. 設(shè)置tableView的

網(wǎng)友評論