我在故事板中绘制了3个UILabel,彼此叠加。
静态UI标签1
动态UI标签2
静态UI标签3
标签1和3是静态的,永远不会改变。标签2是动态的,总是一个句子长,但可以是包装的短句或长句。我希望标签2在标签1和标签3之间完全垂直居中,具体取决于文本的数量。任何想法如何做到这一点?非常感谢!
答案 0 :(得分:1)
添加Label1和Label3的中心值,将其除以2并使其成为label2的中心
CGPoint point = CGPointMake(Label2.Center.x,(Label1.center.y+Label3.center.y)/2);
Label2.center = point;
这都是......
答案 1 :(得分:1)
如果您正在使用自动布局(默认情况下处于启用状态),那么您可以拉伸中间标签,直到它的顶部和底部与其他两个标签相距标准距离(当您看到标准距离时,您会看到蓝色的虚线)你到达那个距离)。这假定您的标签背景清晰,或者您不介意看到高标签(如果没有)。无论行数如何,文本都将在此高标签中垂直居中。它也将以轮换为中心。