2010-10-22 1 views
20

У меня есть два диспетчера viewControllers, один из которых является подклассом UIViewController (авторезистирует правильно), другой является подклассом подкласса UIViewController.
Я сделал макет в Interface Builder, я проверил свой код в Simulator и все работает так, как ожидалось. Но если я поворачиваю устройство, мои взгляды не изменяются.
Итак, я вернулся к Interface Builder и узнал, что я не могу изменить свойство Resize «root» -UIView. Поэтому я открыл другой файл, и свойство изменения размера также исправлено. Но он настроен на изменение размера в обоих направлениях. Это поведение, которое я хочу.Устранение неполадок при настройке интерфейса в построителе интерфейса

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

Interface Builder, Autoresizing Mask

ответ

24

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

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

+0

Вы получаете золотую звезду для этого. СПАСИБО! – sean808080

+0

'cmd + 1' открывает' Project navigator' !!!!!!!!!!!!!!!!! –

+0

@lulian. Это потому, что Xcode изменил сочетания клавиш. Еще в 2011 году это было правильно. –

13

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

  1. Goto IB
  2. Нажмите на 'ViewController'
  3. Goto "Атрибуты инспектора
  4. Изменить 'Размер', чтобы 'Freeform' (что-то другое, чем 'предположительный')

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

enter image description here

Измените 'size' на 'freeform' & попробуйте прямо сейчас!

enter image description here

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

+0

Отлично, спасибо. – Robert

0

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

<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> 

 Смежные вопросы

  • Нет связанных вопросов^_^