gpt4 book ai didi

ios - UITableView tableFooterView 显示在 UITableView 的顶部 - 错误

转载 作者:可可西里 更新时间:2023-11-01 04:20:09 26 4
gpt4 key购买 nike

我创建了一个非常简单的测试用例来重现这个问题。

我正在尝试以编程方式将页脚 View 设置为 TableView 。请注意,我指的是表格 View 最底部的页脚 - 不是部分页脚(大多数堆栈溢出答案会使他们感到困惑)。

这是我非常简单的代码:

- (void)viewDidLoad {
[super viewDidLoad];
UIView *footerContainer = [[UIView alloc] initWithFrame:CGRectZero];
footerContainer.backgroundColor=[UIColor greenColor];
footerContainer.translatesAutoresizingMaskIntoConstraints=NO;
[footerContainer addConstraints:@[[NSLayoutConstraint
constraintWithItem:footerContainer attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual
toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0f constant:100
],
[NSLayoutConstraint
constraintWithItem:footerContainer attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual
toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0f constant:[UIScreen mainScreen].bounds.size.width
]]];

self.mytableview.tableFooterView=footerContainer;
[self.view setNeedsLayout];
[self.view layoutIfNeeded];
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return 10;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
cell.textLabel.text=[NSString stringWithFormat:@"%ld",indexPath.row];
return cell;
}

然而,结果看起来是这样的:

enter image description here

如您所见,页脚显示在表格 View 的顶部。这是错误还是我遗漏了什么?

如果我将 tableFooterView 更改为 tableHeaderView,则它可以正常工作。所以我期望同样的方法也适用于页脚,但事实并非如此。

最佳答案

不要在分配给 tableView.tableFooterViewUIView 上设置 translatesAutoresizingMaskIntoConstraints = false

在您的例子中,这是 footerContainer。我有同样的问题。在对该问题的评论中提到了它,但在我注意到我这样做之前,我仍然花了数小时进行故障排除,因此我也将其作为可能的答案放在这里。

关于ios - UITableView tableFooterView 显示在 UITableView 的顶部 - 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46411402/

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