3

我一个接一个有四个 UITableView 单元格。在 iOS 10.3 上,第一个单元格就在状态栏之后,但在 iOS 11 中,状态栏和第一个单元格之间有一些空间。

附上 iOS 10.3 和 iOS 11 的两个屏幕截图的图像

4

2 回答 2

4

我在 iOS 11 中遇到了类似的问题。空格是页眉和页脚。heightForHeaderInSection在 iOS < 11 中,设置和heightForFooterInSectionto就足够了CGFLOAT_MIN。在 iOS 11 中,我还必须在viewForHeaderInSectionviewForFooterInSection.

- (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;
}
于 2017-09-21T21:55:58.353 回答
3

可能是因为新推出的contentInsetAdjustmentBehavior

默认情况下设置为,.automatic但可以禁用将其切换为.never

if #available(iOS 11.0, *) {
    tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentBehavior.never
}
于 2017-09-01T20:19:28.180 回答