gpt4 book ai didi

ios - 根据单元格宽度更改 UITableViewCell 内容的首选方法

转载 作者:可可西里 更新时间:2023-11-01 03:32:18 26 4
gpt4 key购买 nike

我有一个利用自动布局的动态自定义 UITableViewCell

我根据单元格的宽度改变标签的文本内容。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
...
cell.someLabel.text = CGRectGetWidth(cell.bounds) < 321 ? @"Concise" : @"Much longer blurb";

return cell;
}

reloadData 在方向转换期间调用以更新标签。

虽然这恰好有效,但我想有更好的方法来处理这个问题,它不涉及重新加载 tableView 的开销。

(不需要更改任何约束。标签在同一个位置,只是在有更多空间时显示不同的内容。)

  • 我应该继承 UILabel 并更改 -didMoveToSuperview 中的文本吗?

  • 是否可以更改 -layoutSubViews 中的文本? (这不会因为文本被更改而导致另一个布局传递吗?)

感谢您的回答!

最佳答案

只需将此逻辑添加到 layoutSubviews 即可。每次自动布局引擎执行其操作时都会调用它。

-(void)layoutSubviews {
self.someLabel.text = CGRectGetWidth(self.bounds) < 321 ? @"Concise" : @"Much longer blurb";
[super layoutSubviews];
}

关于ios - 根据单元格宽度更改 UITableViewCell 内容的首选方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27713699/

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