好,首先要注意两点:我还是iOS开发的新手,我敢打赌这个问题已经被回答了好几次了,所以请随时将其链接到可行的解决方案
现在有问题:我有一个 UITableViewController ,其中包括自定义页脚视图。 (它们是自定义的,在底部添加了一个小边框,内置页脚仅为纯灰色)。老式的iPhone一切正常,但是在新的X上,我得到以下信息:
是否可以将页脚视图全部向下扩展到视图区域的底部?
答案 0 :(得分:1)
由于安全区域,默认布局是这样的。如果要让页脚视图覆盖内容,我可以给您2个解决方案。
请改用UITableViewStyleGrouped
,但页脚视图将不会在屏幕上静态显示。
我认为这不是最好的做法,但是我认为布局应该是您想要的。这有点棘手。步骤是:
示例代码
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
UILabel *footerView = [[UILabel alloc] init];
footerView.backgroundColor = [UIColor colorWithRed:0.968 green:0.968 blue:0.968 alpha:1]; //Section Header Background Color
footerView.textAlignment = NSTextAlignmentRight;
footerView.text = @"Footer";
UIView *extendView = [[UIView alloc] init];
extendView.translatesAutoresizingMaskIntoConstraints = NO;
extendView.backgroundColor = footerView.backgroundColor;
[footerView addSubview:extendView];
[footerView addConstraints:@[
[NSLayoutConstraint constraintWithItem:extendView
attribute:NSLayoutAttributeTop
relatedBy:NSLayoutRelationEqual
toItem:footerView
attribute:NSLayoutAttributeBottom
multiplier:1.0
constant:0],
[NSLayoutConstraint constraintWithItem:extendView
attribute:NSLayoutAttributeCenterX
relatedBy:NSLayoutRelationEqual
toItem:footerView
attribute:NSLayoutAttributeCenterX
multiplier:1.0
constant:0],
[NSLayoutConstraint constraintWithItem:extendView
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem:footerView
attribute:NSLayoutAttributeWidth
multiplier:1.0
constant:0],
[NSLayoutConstraint constraintWithItem:extendView
attribute:NSLayoutAttributeBottom
relatedBy:NSLayoutRelationEqual
toItem:footerView
attribute:NSLayoutAttributeBottom
multiplier:1.0
constant:self.view.safeAreaInsets.bottom]
]];
return footerView;
}
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
return self.view.safeAreaInsets.bottom;
}
屏幕记录GIF
Link(我是stackoverflow的新手,无法直接发布图像。对不起!)