В моем приложении для iPhone у меня есть UIViewController с двумя подпредставлениями: основной UIView (назовем его mainView) и вторичный UIView (назовем его secondView), который обычно скрыт, но иногда отображается (например, пользовательские настройки) , В моем UIViewController для self.view установлено значение mainView. Когда пользователь переключается на подпредставление, я звоню [self.view addSubview:secondView]
, а когда пользователь возвращается к основному UIView, я звоню [secondView removeFromSuperview]
.
В настоящее время я занимаюсь двумя вопросами:
- Когда пользователь поворачивает iPhone или iPad, основной интерфейс UIView (mainView) автоматически выполняется автоматически, и все его элементы пользовательского интерфейса следуют его правилам автоматического изменения размера, которые я установил в Интерфейсном Разработчике. Однако, когда отображается вторичный UIView (secondView), а iPhone или iPad поворачивается, secondView и все его элементы пользовательского интерфейса не соответствуют правилам авторазмера. Я обнаружил, что, когда я устанавливаю
self.view = secondView
, а затем поворачиваю устройство, представление вращается правильно.
- В частности, в iPad, когда я открываю второй вид с помощью
[self.view addSubview:secondView]
, его размер не изменяется, чтобы заполнить весь экран, так же как основной UIView был изменен для версии iPad. Таким образом, я получаю экран, который отображает основной вид UIView в фоновом режиме и второй вид UIView в верхнем левом углу, не занимая весь экран.
Мой инстинкт подсказывает мне, что эти две проблемы связаны друг с другом. Кто-нибудь еще сталкивался с подобными проблемами со вторичными UIViews, которые они добавляют к своим UIViewControllers, используя addSubview:
?