我正试图弄清楚如何使用自动布局垂直居中。 我是这项技术的新手,所以它让我有些问题...... 这是我在Interface Builder中的控制器:
灰色部分是超视图,它包含自定义视图(黄色视图)和标签(红色视图);黄色视图固定在超视图的底部,它有固定的高度和宽度。红色视图也有固定的宽度和高度。
我的目标是将我的红色视图垂直居中于灰色视图的可见部分,其可见高度为superview.height - yellowView.height
。
我怎么能这样做?
非常感谢你!
答案 0 :(得分:2)
最简单的方法是将灰色视图作为主视图的子视图,然后您可以在IB或代码中为标签赋予centerY约束。如果由于某种原因不能这样做,可以在代码中更改centerY约束的常量值,使其值为黄色视图高度的1/2。在IB中给标签一个centerY约束并为它创建一个IBOutlet(在我的例子中我称之为centerCon)。黄色视图的固定高度为200。
- (void)viewDidLoad {
[super viewDidLoad];
self.centerCon.constant = 100;
}
答案 1 :(得分:-3)
这里最简单的解决方案之一就是:
redView.center = CGPointMake(superview.width/2, (superview.height - yellowView.height)/2);