Проблема с настройкой автоматического изменения размера в конструкторе интерфейса - PullRequest
20 голосов
/ 22 октября 2010

У меня есть два viewController, один является подклассом UIViewController (автоматически изменяет размер), другой - подклассом подкласса UIViewController.
Я сделал макет в Интерфейсном Разработчике, я тестировал свой код в Симуляторевсе работает как положено.Но если я поворачиваю устройство, мои представления не изменяют размер.
Поэтому я вернулся к Интерфейсному Разработчику и обнаружил, что не могу изменить свойство Resizing "root" -UIView.Поэтому я открыл еще один файл, и там также зафиксировано свойство изменения размера.Но он настроен на изменение размера в обоих направлениях.Это поведение, которое я хочу.

Как я могу изменить авторазмер верхнего UIView, чтобы он делал то, что я хочу?
Не так много подпредставлений, что невозможноначать заново, но я не хочу этого делать.

Interface Builder, Autoresizing Mask

Ответы [ 3 ]

24 голосов
/ 04 марта 2011

Я сталкивался с этим раньше, и это было невероятно расстраивающим. Оказывается, когда вы включили элементы имитированного пользовательского интерфейса, вы не можете менять распорки и пружины так, как вам хочется.

Перейдите на вкладку «Атрибуты» (Cmd-1) и убедитесь, что для строки состояния, верхней панели, нижней панели и разделенного вида установлено значение «Не указано». Затем вернитесь на вкладку «Размер» (Cmd-3), и вы сможете щелкать линии и изменять свои распорки и пружины. Затем, наконец, вы можете вернуться к Cmd-1 и снова включить эти смоделированные элементы.

13 голосов
/ 19 августа 2012

У меня есть упрощенный ответ:

  1. Перейти к IB
  2. Нажмите на «ViewController»
  3. Перейти к «Инспектору атрибутов»
  4. Изменить «Размер» на «Свободная форма» (что-то отличное от «Inferred»)

Что у вас есть это:

enter image description here

Измените «size» на «freeform» и попробуйте сейчас!

enter image description here

Теперь это работает! Вернитесь и измените его на «Inferred» после того, как вы установили маски Авторазмера.

0 голосов
/ 31 октября 2017

Откройте Main.storyboard в качестве источника (не забудьте, что это всего лишь файл XML) и замените тег «autoresizingMask» в представлении следующей строкой:

<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...