我有四个UITableView单元格,一个接一个地排列。在iOS 10.3上,第一个单元格紧贴状态栏,但在iOS 11上,状态栏和第一个单元格之间有一些空白。
我有四个UITableView单元格,一个接一个地排列。在iOS 10.3上,第一个单元格紧贴状态栏,但在iOS 11上,状态栏和第一个单元格之间有一些空白。
我在iOS 11中遇到了类似的问题。空白处是页眉和页脚。在iOS<11中,只需将heightForHeaderInSection
和heightForFooterInSection
设置为CGFLOAT_MIN
即可。在iOS 11中,我还需要在viewForHeaderInSection
和viewForFooterInSection
中返回nil
。
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection: (NSInteger)section {
return CGFLOAT_MIN;
}
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
return CGFLOAT_MIN;
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
return nil;
}
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
return nil;
}
可能是由于新引入的contentInsetAdjustmentBehavior
导致的。
默认情况下设置为.automatic
,但可以通过将其切换为.never
来禁用:
if #available(iOS 11.0, *) {
tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentBehavior.never
}