Автоматическая настройка параметров в построителе интерфейса
У меня есть два диспетчера viewControllers, один из них является подклассом UIViewController (автоматически проверяет правильность), другой является подклассом подкласса UIViewController.
Я сделал макет в Interface Builder, я проверил свой код в Simulator и все работает так, как ожидалось. Но если я поворачиваю устройство, мои взгляды не изменяются.
Поэтому я вернулся к интерфейсу Builder и узнал, что я не могу изменить свойство Resize для "root" -UIView. Поэтому я открыл другой файл, и свойство изменения размера также исправлено. Но он настроен на изменение размера в обоих направлениях. Это поведение, которое я хочу.
Как изменить автоматизацию верхнего UIView, чтобы он сделал то, что я хочу?
Существует не так много подзаголовков, что нельзя начинать с нуля, но я не хочу этого делать.
![Interface Builder, Autoresizing Mask]()
Ответы
Ответ 1
Я столкнулся с этим раньше, и это было невероятно расстраивающим. Оказывается, когда вы включаете элементы имитируемого пользовательского интерфейса, вы не можете изменять распорки и пружины, как хотите.
Перейдите на вкладку "Атрибуты" (Cmd-1) и убедитесь, что в строке состояния, верхней панели, нижней панели и в режиме разделения выбран параметр "Unspecified". Затем вернитесь на вкладку "Размер" (Cmd-3), и вы сможете щелкнуть строки и изменить свои Struts и Springs. Затем, наконец, вы можете вернуться к Cmd-1 и снова включить эти смоделированные элементы.
Ответ 2
У меня есть упрощенный ответ:
- Перейти IB >
- Нажмите "ViewController"
- Перейти к 'Attributes Inspector'
- Измените 'Size' на 'Freeform' (что-то другое, чем 'Inferred')
Что у вас есть:
![enter image description here]()
Измените 'size' на 'freeform' и попробуйте прямо сейчас!
![enter image description here]()
Теперь это работает! Вернитесь назад и измените его на "Inferred" после того, как вы установили маски Autoresizing.
Ответ 3
Откройте Main.storyboard как источник (не забывайте, что это всего лишь файл XML) и замените тег autoresizingMask в представлении следующей строкой:
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>