ios – 基于单元格宽度更改UITableViewCell内容的首选方法

ios – 基于单元格宽度更改UITableViewCell内容的首选方法,第1张

概述我有一个动态自定义UITableViewCell,利用自动布局. 我根据单元格宽度改变标签的文本内容. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ ... cell.someLabel.text = CGRectGe 我有一个动态自定义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内容的首选方法全部内容,希望文章能够帮你解决ios – 基于单元格宽度更改UITableViewCell内容的首选方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1099327.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存