結(jié)構(gòu):控制器view + scrollview + tableview
要點:要想實現(xiàn)cell穿透效果
1.tableview要占據(jù)整個屏幕,前提是要取消控制器對象的自動調(diào)整屬性,然后重新設(shè)置對應(yīng)tableview的frame
self.automaticallyAdjustsScrollViewInsets = NO;
tableView.frame = CGRectMake(i * scrollViewW, 0, scrollViewW, scrollViewH);
2.設(shè)置tableview的內(nèi)邊距:上邊距和下邊距
self.tableView.contentInset = UIEdgeInsetsMake(64 + x, 0, 49, 0);
注意:xcode7-8.3.3 ?ios7-ios10 ?這樣設(shè)置是沒有問題的
但是更新為xcode9,對應(yīng)ios11,在模擬器上運行,對于tableview被導(dǎo)航欄和tabbar擋住,會自動向下設(shè)置64,向上設(shè)置49的內(nèi)邊距,設(shè)置應(yīng)該改為
self.tableView.contentInset = UIEdgeInsetsMake(x, 0, 0, 0);
問題:
如果按照之前的思路,雖然在ios11上運行,依然可以正常顯示,但是ios11上卻出現(xiàn)了這樣的問題,與ios11定的一個安全區(qū)域規(guī)則有關(guān)系,以后再深入分析探討