iOS 15下UITableView顶部出现异常padding问题如何解决?
问题根因
iOS 15 为UITableView新增了sectionHeaderTopPadding属性,默认取值为UITableViewAutomaticDimension,会在每一个section的头部上方自动增加额外的系统默认间距,这就是升级后所有列表页面顶部统一出现异常留白的核心原因。
修复方案
你可以根据业务需求选择全局统一修复或者单个页面单独修复:
全局统一修复(全App生效)
在App启动入口-application:didFinishLaunchingWithOptions:方法中添加全局外观配置:// Objective-C 实现 if (@available(iOS 15.0, *)) { [UITableView appearance].sectionHeaderTopPadding = 0; }// Swift 实现 if #available(iOS 15.0, *) { UITableView.appearance().sectionHeaderTopPadding = 0 }单个页面单独修复(仅指定列表生效)
在对应列表页面的viewDidLoad方法或者列表初始化代码中添加配置:// Objective-C 实现 if (@available(iOS 15.0, *)) { self.targetTableView.sectionHeaderTopPadding = 0; }// Swift 实现 if #available(iOS 15.0, *) { targetTableView.sectionHeaderTopPadding = 0 }Xib/Storyboard 可视化修复
如果列表是通过Interface Builder创建的,直接在UITableView的属性检查器中找到Section Header Top Padding配置项,将值修改为0即可。
内容的提问来源于stack exchange,提问作者M. Mansuelli
相关产品推荐
相关产品推荐

