前言:有时候UI布局会出现同一行无法展示完全,会需要根据非重要性顺序进行省略展示
问题背景:
比如:这三个Label,中间这个重要性最低,如果与状态值冲突,则进行省略号隐藏
写好布局时,可以实现中间省略号隐藏,但是下拉刷新数据后又会出现最后一个Label数据省略,如图
问题解决:
经过添加布局的优先级,也仍然在刷新数据后无法继续实现效果,通过查找资料,发现可以设置Label抗压缩性,经过尝试发现这个属性确实可以实现该功能,如图
贴代码:
/// 横向抗压缩性
dateLabel.setContentCompressionResistancePriority(UILayoutPriority.required, for: NSLayoutConstraint.Axis.horizontal)
/// 纵向抗压缩性
dateLabel.setContentCompressionResistancePriority(UILayoutPriority.required, for: NSLayoutConstraint.Axis.vertical)
相关知识:
UILabel 抗拉伸性:
/// 横向抗拉伸性
dateLabel.setContentHuggingPriority(UILayoutPriority.required, for: NSLayoutConstraint.Axis.horizontal)
/// 纵向抗拉伸性
dateLabel.setContentHuggingPriority(UILayoutPriority.required, for: NSLayoutConstraint.Axis.vertical)
参考资料:iOS UILabel添加UIEdgeInsets,抗拉伸和抗压缩
整理不易,望大家多多点赞,谢谢大家!