Размер кадра не меняется в 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 и ниже:
Но, запустив его на Xcode 9 beta 6 в симуляторе iOS 11, я получаю такой результат:
Это ошибка или что-то изменилось в этой версии, о которой я не знаю? Я использую Auto Layout.
1 ответ
Решение
Я только что нашел решение. Необходимо было добавить эту строку кода:
self.tabsView.translatesAutoresizingMaskIntoConstraints = YES;
Он переводит маску автоматического изменения размеров видов в ограничения Auto Layout. При этом у меня одинаковый результат на обеих версиях iOS.