Размер кадра не меняется в iOS 11

В моем приложении есть кнопка, которая поворачивает мой обзор на 90 градусов и соответственно меняет его рамку, чтобы он занимал весь экран в альбомной ориентации.

Код выглядит следующим образом:

CGAffineTransform transform = CGAffineTransformRotate(self.tabsView.transform, M_PI_2);

self.tabsView.transform = transform;


CGRect newFrame = CGRectMake( self.view.frame.origin.x, self.view.frame.origin.y, self.view.frame.size.width, self.view.frame.size.height);

self.tabsView.frame = newFrame;

Это работает как шарм на iOS 10 и ниже: Lanscape iOS 10

Но, запустив его на Xcode 9 beta 6 в симуляторе iOS 11, я получаю такой результат: Пейзаж iOS 11

Это ошибка или что-то изменилось в этой версии, о которой я не знаю? Я использую Auto Layout.

1 ответ

Решение

Я только что нашел решение. Необходимо было добавить эту строку кода:

self.tabsView.translatesAutoresizingMaskIntoConstraints = YES;

Он переводит маску автоматического изменения размеров видов в ограничения Auto Layout. При этом у меня одинаковый результат на обеих версиях iOS.

Другие вопросы по тегам