Подвид UIView не является автоматическим или авторазмером для iPad - PullRequest
0 голосов
/ 26 августа 2010

В моем приложении для iPhone у меня есть UIViewController с двумя подпредставлениями: основной UIView (назовем его mainView) и вторичный UIView (назовем его secondView), который обычно скрыт, но иногда отображается (например, пользовательские настройки) , В моем UIViewController для self.view установлено значение mainView. Когда пользователь переключается на подпредставление, я звоню [self.view addSubview:secondView], а когда пользователь возвращается к основному UIView, я звоню [secondView removeFromSuperview].

В настоящее время я занимаюсь двумя вопросами:

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

Мой инстинкт подсказывает мне, что эти две проблемы связаны друг с другом. Кто-нибудь еще сталкивался с подобными проблемами со вторичными UIViews, которые они добавляют к своим UIViewControllers, используя addSubview:?

Ответы [ 2 ]

3 голосов
/ 12 октября 2010

При использовании addSubview,

[secondView setFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)];

Не очень элегантно.Но у меня это сработало:

0 голосов
/ 02 ноября 2013

У меня была похожая проблема. Я решил проблему с размером, установив режим просмотра содержимого.

Exp:[_yourView setContentMode:UIViewContentModeScaleAspectFill];

Надеюсь, это поможет ...

...