Mar*_*elo 5 objective-c ios autolayout
我有一个包含三个标签的视图.
第一个标签位于最顶部.第三个标签距离底部50px.
我想要做的是始终使用autolayout将第二个标签放在这两个标签的中心,但我无法想象如何做到这一点.
问题是第二个标签不在视图的中心.
我尝试将两个垂直间距约束设置为小于或等于初始值,但它不起作用.
只使用自动布局可以做到这一点吗?我想添加另一个视图,但这看起来不是一个好的解决方案..
谢谢.
我认为你不能用自动布局来做到这一点;但重写layoutSubviews(或者viewDidLayoutSubviews如果您不使用UIView子类)将标签 2 置于标签 1 和标签 3 之间是很简单的(只需确保[super layoutSubviews]先调用即可)。
编辑:这是一些示例代码。
- (void)layoutSubviews {
[super layoutSubviews];
_label2.center = CGPointMake(_label2.center.x, (CGRectGetMaxY(_label1.frame) + CGRectGetMinY(_label3.frame)) / 2);
}
Run Code Online (Sandbox Code Playgroud)