【代码】iOS 15 适配 UITableView 中内容自动下移22像素的解决办法

2022-07-01 16:19:27  阅读 223 次 评论 1 条

在iOS15中,UITableView又新增了一个新的属性叫sectionHeaderTopPadding

会给每一个section header 增加一个默认的高度,当我们使用 UITableViewStylePlain 初始化 UITableView的时候,就会发现,系统给section header增高了个22像素。


解决方法:

if (@available(iOS 15.0, *)) {
    tableView.sectionHeaderTopPadding = 0;
}


------------------------------

由于这里的sectionHeaderTopPadding是新增加api,在低版本Xcode会报错,这里可以加入宏判断Xcode支持的版本。

在Xcode 12.5.1中,你可以这么写

//因为12.5.1版本中最高也就定义了__IPHONE_14_5 
//只要比它大的,就应该是Xcode 13了吧?
//通过判断支持系统版本来确定是否执行,也算是解决了?
#if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_14_5
    if (@available(iOS 15.0, *)) {
        self.tableView.sectionHeaderTopPadding = 0;
    }
#endif



微信扫码查看本文
本文地址:https://www.yangguangdream.com/?id=2210
版权声明:本文为原创文章,版权归 编辑君 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

评论列表

  1. APP用户
    APP用户  @回复

    哦吼~