Xcode 6 Раскадровка неправильного размера?

Построил новый проект с нуля в Swift в Xcode 6 (Beta 1) и увидел странное поведение со Storiesboards и вывод, который я просматриваю.

Я построил простой интерфейс (как показано ниже) - со свойствами включенного контроллера View. Когда я запускаю это в симуляторе, я бы ожидал, что "Hello, World" станет центральным в пользовательском интерфейсе, однако кажется, что этот "Квадрат" просто вписывается в экран iPhone и, следовательно, отображается неправильный вид (см. Ниже).

Мой вопрос: кто-нибудь еще видел это поведение и как он его исправил?

Спасибо!

View from the Storyboard Editor

Attributes Inspector

Size Inspector

Simulator Output

Ответ 1

В то время как ответ Asif Bilal - это более простое решение, которое не связано с классами размера (которые были введены в iOS 8.), настоятельно рекомендуется привыкнуть к размерам классов, поскольку они являются будущим, и вы будете в конце концов, в любом случае вскочите. "


Вероятно, вы не добавили ограничений макета.

Выберите ярлык, нажмите кнопку ограничения макета внизу:

enter image description here

В этом меню добавьте ширину и высоту (она НЕ должна быть такой же, как моя), установив флажок и добавив ограничения. Затем Control-перетащите ярлык на ваш основной вид, а затем, когда вы отпустите, вы должны иметь возможность центрировать по горизонтали и вертикали в контейнере. Добавьте оба, и вы должны быть настроены.

Ответ 2

Выполните следующие шаги для устранения проблемы.

В раскадровке выберите любое представление, затем перейдите к инспектору файлов. Снимите флажок "Использовать классы размера", вы попросите сохранить данные класса размера для: iPhone/iPad. Затем нажмите кнопку "Disable Size Classes". Это сделает размер раскадровки выбранным устройством.

Ответ 3

Если вы используете Xcode 6 и разрабатываете для iOS 8, ни одно из этих решений не является правильным. Чтобы ваши взгляды только для iPhone были правильными, не отключайте классы размера, не выключайте выводимые показатели и не устанавливайте ограничения (пока). Вместо этого используйте элемент управления классом размера, который легко пропустить текстовую кнопку внизу интерфейса Builder, которая изначально читает "WAny hAny".

Нажмите кнопку и выберите "Компактная ширина", "Обычная высота". Это изменяет размер ваших взглядов и охватывает все ориентации в iPhone. Apple сообщает здесь: https://developer.apple.com/library/ios/recipes/xcode_help-IB_adaptive_sizes/chapters/SelectingASizeClass.html или поиск в разделе "Выбор класса размера в построителе интерфейса"

Ответ 4

В раскадровке выберите свой ViewController и перейдите к Attribute Inspector. На самом верху, в Simulated Metrics у вас есть свойства размера и ориентации, для которых установлено значение Inferred. Измените их на желаемые значения.

Чтобы приложение отображалось правильно на другом экране, вам также необходимо установить ограничения, как описано Can Poyrazoğlu в первом сообщении.

Ответ 5

У меня была эта проблема в xcode 6, и есть способ разрешить конфликты изменения размера. Если вы выберете свое представление, внизу вы увидите значок, который выглядит как | - & Delta; - |. Если вы нажмете на него, вы измените размер проекта для разных устройств.

Ответ 6

Перейдите к Attributes Inspector (правый верхний угол) В Simulated Metrics, который имеет размер, ориентацию, строку состояния, верхнюю панель, свойства нижней панели. Для SIZE измените Inferred → Freeform.

Ответ 7

На странице раскадровки перейдите в File Inspector и снимите флажок "Использовать классы классов". Это должно уменьшить ваш контроллер просмотра до обычного размера IPhone, с которым вы были знакомы. Обратите внимание, что использование "классов размеров" позволит вам проектировать ваш проект на многих устройствах. Как только вы снимете это, Xcode даст вам диалоговое окно предупреждения следующим образом. Это должно быть самоочевидным.

"Отключение классов размера ограничит этот документ хранением данных для одного семейства устройств. Данные для класса размера, наилучшего представляющие целевое устройство, будут сохранены, а все остальные данные будут удалены. Кроме того, segues будут преобразованы в их неадаптивные эквиваленты".

Ответ 8

Для тех, кто использует XCode 7, его очень легко создать для определенного размера устройства (вместо квадратного квадрата по умолчанию).

В интерфейсе Builder выберите свой ViewController или Scene в меню слева. Затем под Show the Attributes Inspector перейдите к Simulated Metrics и выберите нужный Size из выпадающего меню.

Ответ 9

Вероятно, вы должны использовать "Разрешить автоматические макеты" (внизу справа - значок треугольника в представлении раскадровки), чтобы добавить / reset к предложенным ограничениям (Xcode 6.0.1).