如何在一行中放置两个UILabel,以便它们根据iOS中文本的大小垂直居中?

问题描述:

我有一个表格标签和一个按钮,它们都应该基于显示的文本垂直居中。这意味着行的高度应该基于哪个文本是最大的。见下图:如何在一行中放置两个UILabel,以便它们根据iOS中文本的大小垂直居中?

enter image description here

我试图通过设置换行到自动换行和垂直居中都这样做,但是右边的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         
+0

是否使用UITableViewAutomaticDimension? –

+0

是的,UITableViewAutomaticDimension设置 –

+1

UIButton不扩展,因此您可以使用UILabel而不是UIButton。 –

不要任何的意见设置的高度限制。只需设置标签和按钮的顶部和底部约束,以及明显的前导和尾随约束。

您甚至不需要使它们垂直居中,如果它们具有相同的顶部和底部边距,UITableViewCell将为您完美地包裹它们。

将文本设置为两个标签后,您可以获得endY这两个标签,并在tableView代表内返回相应的height+padding代表。

试试这个设置

右标签 Right Label

左标签

Left Label

现在把按钮在右边的标签这样enter image description here