垂直中间两个其他标签之间的UILabel

我有3个UILabel绘制在彼此顶部的故事板。

静态UI标签1

dynamicUI标签2

静态UI标签3

标签1和3是静态的,永远不会改变。 标签2是dynamic的,并且总是一个句子,但可以是一个短或长的句子。 我希望标签2完全垂直居中在标签1和标签3之间,根据多less文本。 任何想法如何做到这一点? 不胜感激!

如果您使用的是自动布局(默认情况下是开启的),那么您可以拉伸中间标签,直到它的顶部和底部距离其他两个标签的标准距离(当您达到该标签时,您会看到一条蓝色虚线)距离)。 这假设你的标签有一个清晰的背景,或者你不介意看到一个高大的标签,如果没有。 文本将垂直居中在这个高标签,无论行数。 它也将保持以旋转为中心。

添加Label1和Label3的中心值,将其除以2并使其位于label2的中心

CGPoint point = CGPointMake(Label2.Center.x,(Label1.center.y+Label3.center.y)/2); Label2.center = point; 

就这样….