[英]Vertically center subview using Auto-Layout
我試圖弄清楚如何使用自動版式將視圖垂直居中。 我是這項技術的新手,因此使我有些問題...這是我在Interface Builder中的控制器:
灰色部分是超級視圖,它包含一個自定義視圖(黃色)和一個標簽(紅色); 黃色視圖固定在超級視圖的底部,並且具有固定的高度和寬度。 紅色視圖也具有固定的寬度和高度。
我的目標是使紅色視圖在灰色視圖的可見部分中垂直居中,其可見高度為superview.height - yellowView.height
。 我怎樣才能做到這一點?
非常感謝!
最簡單的方法是將灰色視圖也作為主視圖的子視圖,然后可以在IB或代碼中給標簽賦予centerY約束。 如果由於某種原因不能這樣做,則可以在代碼中更改centerY約束的常量值,使其值為黃色視圖高度的1/2。 在IB中為標簽指定centerY約束,並為其創建IBOutlet(在我的示例中將其命名為centerCon)。 我的黃視圖的固定高度為200。
- (void)viewDidLoad {
[super viewDidLoad];
self.centerCon.constant = 100;
}
這里最簡單的解決方案之一將是這樣的:
redView.center = CGPointMake(superview.width/2, (superview.height - yellowView.height)/2);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.