前言
一眨眼,六月底新入职现在公司已一月有余,期间工作节奏比之前一家增加许多,像是回到若干年前昼夜奋战几周完成一个app的状态。唯一不同的是,现在更需注重效率,复用原有的经验。
UITableViewCell中水平分布的两列UILabel
比如,在最近的项目中遇到UITableViewCell中水平分布两个Label,每个 label 都有可能有多行。根据不同的情况,两个lable的文字需要上/中/下对齐,如图:
上对齐
中对齐
下对齐
由于是单兵作战——iOS端就我一个人,所以大多数界面布局在SB中进行,可是当具有上述布局的页面多了后,通过代码来实现反而会高效。鉴于此,封装了一个Cell类以支持三种布局。具体的实现代码和使用方法见:ZZHorizontalLabelsCell,不多做解释了。有不懂的,可以留言。
布局的SB实现
为了方便使用SB布局的情况,这里也把三种布局下lable的约束说明:
上对齐
Left
Right
其中,右边Label的bottom的约束优先级设为 749.
中对齐
Left
Right
下对齐
Left
Right
总结
之所以要单独谈这一个问题,是因为其囊括:
- Autolayout下,UITableViewCell的高度自适应
- Autolayout的概念理解,尤其是hugging/compression resistance的理解
而代码和SB的两种实现都遵循相同的布局法则,这里分开来说明也是为了“兼容”纯代码和SB布局。
Comments