在iOS中,layoutSubviews是UIView的一個(gè)方法,可以被重寫(xiě)來(lái)自定義視圖的布局。當(dāng)視圖所包含的子視圖的frame發(fā)生改變時(shí),系統(tǒng)會(huì)自動(dòng)調(diào)用該方法來(lái)重新布局子視圖。
使用layoutSubviews方法的步驟如下:
- (void)layoutSubviews {
[super layoutSubviews];
// 自定義子視圖的布局邏輯
// 可以通過(guò)修改子視圖的frame來(lái)改變子視圖的位置和尺寸
}
- (void)layoutSubviews {
[super layoutSubviews];
// 自定義子視圖的布局邏輯
self.subview1.frame = CGRectMake(0, 0, self.bounds.size.width, self.bounds.size.height / 2);
self.subview2.frame = CGRectMake(0, self.bounds.size.height / 2, self.bounds.size.width, self.bounds.size.height / 2);
}
注意:layoutSubviews方法在需要重新布局子視圖的時(shí)候會(huì)被調(diào)用,例如當(dāng)視圖的尺寸發(fā)生改變時(shí)。在調(diào)用layoutSubviews方法時(shí),需要先調(diào)用super的layoutSubviews方法,以確保父類(lèi)的布局邏輯得以執(zhí)行。