我根据单元格的宽度改变标签的文本内容.
- (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内容的首选方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)