如何设置UITableView全屏展示

项目中许多需求要求全屏幕展示(包括安全域),如何实现UITableView全屏展示?

一、撤销UIScrollView内容内边距,代码如下:

        if (@available(iOS 11.0, *)) {
            _tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
//iOS11系统及以上,
        } else {
            self.automaticallyAdjustsScrollViewInsets = NO;
            // Fallback on earlier versions
        }

如果有导航栏,还需要设置导航栏不透明,否则导航栏遮挡显示内容。代码设置如下:

self.navigationController.navigationBar.translucent = NO;
self.extendedLayoutIncludesOpaqueBars = NO;//默认是NO,可以不设置

二、如果UITableView的style为UITableViewStylePlain,则已经满足全屏展示。如果style为UITableViewStyleGrouped,则还需设置tableFooterView和tableHeaderView。代码如下:

_tableView.tableFooterView = [[UITableViewHeaderFooterView alloc] initWithFrame:CGRectMake(0, 0, 0, CGFLOAT_MIN)];
_tableView.tableHeaderView = [[UITableViewHeaderFooterView alloc] initWithFrame:CGRectMake(0, 0, 0, CGFLOAT_MIN)];

注意:header和footer高度不能设置为0。

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容