Можно ли вручную вызывать тот же самый код автоматического изменения размера, который происходит при вращении устройства? - PullRequest
1 голос
/ 14 марта 2012

У меня есть UIViewcontroller с его UIView, отображающим строку состояния вверху, а затем под UINavigationBar. Ниже приведен UIImageView с «автоматическим изменением размера» раскадровки, настроенным так, чтобы UIImageView занимал оставшуюся часть экрана.

Когда я программно скрываю statusBar и navBar, UIView не расширяется в пространство, освобождаемое statusBar и navBar, как предполагают настройки автоматического изменения размера. Однако, если я поверну устройство в этот момент, оно расширится должным образом.

Таким образом, существует некоторый каскад изменения размера / автоматического изменения размера, который происходит при повороте устройства. Если бы я мог просто переключать навигационную панель и строки состояния, то вызывал бы таинственный «magicalPositionRecalculator», который вызывается при изменении размера, который был бы идеальным. Я могу это сделать? Знаете ли вы, какой метод приводит это в движение? Спасибо за любые предложения!

1 Ответ

1 голос
/ 14 марта 2012

Вы должны установить новое измерение (frame свойство) вашего представления в коде (self.view.frame = self.view.superview.bounds должно делать).Если вы хотите настроить макет без изменения размера, вы можете позвонить [self.view setNeedsLayout]

...