У меня есть UIPageViewController с простым UIViewController внутри него.
Если 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.