如何在一行中放置两个UILabel,以便它们根据iOS中文本的大小垂直居中?
问题描述:
我有一个表格标签和一个按钮,它们都应该基于显示的文本垂直居中。这意味着行的高度应该基于哪个文本是最大的。见下图:如何在一行中放置两个UILabel,以便它们根据iOS中文本的大小垂直居中?
我试图通过设置换行到自动换行和垂直居中都这样做,但是右边的UIButton的不按比例调整。
约束:
*label* top 5 to contentview
*label* bottom 5 to contentview
*label* leading 5 to contentview
*label* width 0.75 of contentview
*button* leading 5 to label
*button* trailing 5 to contentview
*button* bottom 5 to contentview
*button* top 5 to contentview
答
不要任何的意见设置的高度限制。只需设置标签和按钮的顶部和底部约束,以及明显的前导和尾随约束。
您甚至不需要使它们垂直居中,如果它们具有相同的顶部和底部边距,UITableViewCell将为您完美地包裹它们。
答
将文本设置为两个标签后,您可以获得endY
这两个标签,并在tableView
代表内返回相应的height+padding
代表。
是否使用UITableViewAutomaticDimension? –
是的,UITableViewAutomaticDimension设置 –
UIButton不扩展,因此您可以使用UILabel而不是UIButton。 –