gpt4 book ai didi

ios - 自定义单元格的 UIView 框架未在 cellForRowAtIndexPath 中更新

转载 作者:行者123 更新时间:2023-11-28 22:09:05 25 4
gpt4 key购买 nike

我有一个带有 UIView 的自定义单元格,我正在尝试更新 cellForRowAtIndexPath 中的框架。对于在第一遍行中加载的行,帧都已成功更新。但是,需要滚动才能看到的行在将它们滚动到 View 中、将它们滚动出 View 然后将它们滚动回 View 之前不会更新它们的 View 框架。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

RoundCell *cell = (RoundCell *)[tableView dequeueReusableCellWithIdentifier:@"RoundCell"];

CGRect frame = CGRectMake(160, 10, 50, 22);
cell.rightConfidenceBar.frame = frame;
}

对于最初未加载的行,为什么我需要将它们滚动到 View 中、移出 View ,然后在它们的 UIView 框架更新之前返回到 View 中?

最佳答案

在进行更多挖掘并发现这些问题之后:

question 1 , question 2 , question 3

我意识到这是自动布局的问题。这个问题的两个解决方案是:

1.通过取消选中其中一个答案中提到的框来关闭自动布局(不推荐)

2.做问题 1 所说的,而不是更新 View 的框架,像这样更新宽度约束常量

for (NSLayoutConstraint *constraint in cell.rightConfidenceBar.constraints)
{
if (constraint.firstAttribute == NSLayoutAttributeWidth)
constraint.constant = 50;
}

警告:如果取消选中自动布局,您可能会失去在整个项目中所做的所有约束。

关于ios - 自定义单元格的 UIView 框架未在 cellForRowAtIndexPath 中更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23283795/

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