簡體   English   中英

使用自動布局垂直居中子視圖

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM