gpt4 book ai didi

ios - iPhone X TableView 页脚问题

转载 作者:行者123 更新时间:2023-11-29 11:31:25 25 4
gpt4 key购买 nike

好的,首先有两件事:我还是 iOS 开发的新手,我敢打赌这个问题已经回答过几次了,所以请随意将它链接到一个有效的解决方案😊

现在问题来了:我有一个 UITableViewController,包括自定义页脚 View 。 (他们习惯于在底部添加一个小边框,内置页脚只是纯灰色)。旧款 iPhone 一切正常,但在新款 X 上我得到以下信息:

Footer is broken

有没有办法将页脚 View 全部向下扩展到 View 区域的底部?

最佳答案

默认布局是这样的,因为安全区域。如果你想让页脚 View 覆盖内容我可以给你2个解决方案。

  • 改为使用 UITableViewStyleGrouped,但页脚 View 不会在屏幕上保持静态。

  • 我不认为这是最佳做法,但我认为布局应该是您正在寻找的。这有点棘手。步骤是:

    1. 创建一个高度等于底部安全区域的扩展 View 。
    2. 将此扩展 View 放在页脚 View 下方,并将背景颜色设置为与页眉 View 的背景颜色相同。
    3. 确保标题 View 的高度等于底部安全区域的高度。 (这一步是取巧点)

示例代码

- (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

Image TableView

关于ios - iPhone X TableView 页脚问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53143858/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com