我有一個簡單的UIViewController裏面的UIPageViewController。UIPageViewController +自動佈局旋轉問題
如果UIViewController沒有子視圖,它的視圖在旋轉時正確調整大小。 (純綠色背景)。
如果所述的UIViewController具有帶有固定幀中的子視圖中,當旋轉時其視圖正確調整大小。 (帶角落的黃色正方形的純綠色背景)。
如果在UIViewController中有設置,以填補它的父它的自動佈局約束子視圖,旋轉時,其視圖不再正確調整大小。 (帶有UIPageViewController紅色背景的純黃色背景可見)。我使用的自動佈局代碼:
UIView *v = [[UIView alloc] init];
[v setTranslatesAutoresizingMaskIntoConstraints:NO];
[v setBackgroundColor:[UIColor yellowColor]];
[[self view] addSubview:v];
NSDictionary *viewsDictionary = NSDictionaryOfVariableBindings(v);
NSArray *cs = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|[v]|" options:0 metrics:nil views:viewsDictionary];
[[self view] addConstraints:cs];
cs = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|[v]|" options:0 metrics:nil views:viewsDictionary];
[[self view] addConstraints:cs];
爲什麼一個子視圖的自動佈局影響它的父?只有當它包含在UIPageViewController中時纔會發生這種情況。
嗨,高級 - 我有你的問題中描述的完全相同的問題。你能用這個答案提供一些示例代碼嗎?我正在通過Visual Format Language(和你一樣)自動佈局,當我旋轉時,我的UIPageViewController完全按照你的做法做。你說「而不是明確地設置其視圖上的自動佈局約束」 - 如果你可以提供代碼,它會幫助我很大,並提供更完整的答案。謝謝! – DiscDev