cell穿透导航栏和tabBar的实现要点

结构:控制器view + scrollview + tableview

要点:要想实现cell穿透效果

1.tableview要占据整个屏幕,前提是要取消控制器对象的自动调整属性,然后重新设置对应tableview的frame

self.automaticallyAdjustsScrollViewInsets = NO;

tableView.frame = CGRectMake(i * scrollViewW, 0, scrollViewW, scrollViewH);

2.设置tableview的内边距:上边距和下边距

self.tableView.contentInset = UIEdgeInsetsMake(64 + x, 0, 49, 0);

注意:xcode7-8.3.3  ios7-ios10  这样设置是没有问题的

但是更新为xcode9,对应ios11,在模拟器上运行,对于tableview被导航栏和tabbar挡住,会自动向下设置64,向上设置49的内边距,设置应该改为

self.tableView.contentInset = UIEdgeInsetsMake(x, 0, 0, 0);

问题:

如果按照之前的思路,虽然在ios11上运行,依然可以正常显示,但是ios11上却出现了这样的问题,与ios11定的一个安全区域规则有关系,以后再深入分析探讨

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容