Ограничения Auto Layout работают для моего приложения на iPad, если оно загружается в полноэкранный режим.
Когда я go в разделенном экране, все меняется, как и ожидалось.
При изменении размера разделенного экрана вызывается метод - (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id <UIViewControllerTransitionCoordinator>)coordinator
.
Однако , если я загружаю приложение в разделенном экране , ограничения неверны из начало.
Кроме того, при изменении размера чего-либо, кроме полноэкранного, - (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id <UIViewControllerTransitionCoordinator>)coordinator
не вызывается.
Вот видео, демонстрирующее проблему. https://www.youtube.com/watch?v=ksHt8pIz0b0
Я использую масонство для установки ограничений следующим образом:
[labelLeft remakeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.view.left);
make.centerY.equalTo(self.view.centerY);
make.width.equalTo(150);
make.height.equalTo(30);
}];
[labelRight remakeConstraints:^(MASConstraintMaker *make) {
make.right.equalTo(self.view.right);
make.centerY.equalTo(self.view.centerY);
make.width.equalTo(150);
make.height.equalTo(30);
}];
[labelTop remakeConstraints:^(MASConstraintMaker *make) {
make.centerX.equalTo(self.view.centerX);
make.top.equalTo(self.view.top);
make.width.equalTo(150);
make.height.equalTo(30);
}];
[labelBottom remakeConstraints:^(MASConstraintMaker *make) {
make.centerX.equalTo(self.view.centerX);
make.bottom.equalTo(self.view.bottom);
make.width.equalTo(150);
make.height.equalTo(30);
}];
Заранее благодарен за помощь!
ОБНОВЛЕНИЕ: Я создал приложение fre sh и установил те же ограничения. Когда я запускал тот же тестовый сценарий, он загрузился нормально в режиме разделенного экрана. Однако в тестовом сценарии viewWillTransitionToSize:
был правильно вызван при изменении размера экрана после загрузки в разделенном экране.
Есть какие-нибудь идеи о том, что может помешать этому вызову в моем приложении при загрузке в разделенном экране? Приложение огромно, поэтому я ищу общие указания по поиску go.