Я получил UIView с 2 подпредставлениями. UIView установлен в UIViewAutoresizingF FlexibleWidth. Теперь, когда он входит в layoutSubviews, он изменяет размеры кадров подпредставлений относительно UIView следующим образом:
rect.size.width = self.frame.size.width - rect.origin.x - textLabel.frame.origin.x;
Но проблема возникает в ландшафтном режиме, потому что в портретном режиме self.frame.size.width (и границы в этом отношении) отвечают 768 при запуске и 788 после того, как он закончил вращение. То есть, когда он вращается, кажется, что он добавляет 20 пикселей, что я полагаю, это строка состояния.
Когда я жестко кодирую 768, все работает как положено. Но я не хочу этого, конечно. Я мог бы сохранить исходное состояние в var и использовать его, но я не думаю, что это правильный способ сделать это.
У кого-нибудь есть решение?