Подтвердить что ты не робот

Xcode 6: Как сделать вид изображения заполнять экран на всех устройствах? Авто макет не работает?

Итак, у меня есть изображение и кнопка. Мне нужно, чтобы изображение выглядело как правильный размер (не выглядящий скрученным или растянутым) на всех устройствах и, что более важно, мне нужно, чтобы он был размером с экран. Мне нужна кнопка, чтобы оставаться на одном месте на всех устройствах.

Назад с Xcode 5 Я помню, как автоматическая компоновка исправляла эту проблему, но теперь это не работает. Я посмотрел на https://www.youtube.com/watch?v=G53PuA_TlXk и попытался перетащить управление в контроллер просмотра и центрировал представление как по горизонтали, так и по вертикали, но я не могу его получить для масштабирования до размера экрана. Видео не затрагивает это.

Есть ли какой-то конкретный параметр, который мне нужно выбрать, когда нужно перетаскивать элементы управления, чтобы увеличить масштаб изображения? Что мне делать?

4b9b3361

Ответ 1

Вам нужно сделать 2 вещи:

  • Правильно настройте свои ограничения.
  • Выберите тип масштабирования, который вы хотите.

Настройка ваших ограничений:

  • Перетащите изображение и поместите его примерно в центр вашего представления.
  • Задайте свой класс размера w Любые h Любые.
  • Нажмите на значок значка |-[]-| в нижней части экрана.
  • Включите все четыре оранжевые I-лучи. Установите четыре константы на ноль.
  • Снимите флажок Ограничение на поля.
  • Нажмите Add 4 constraints

Add New Constraints

Выбор масштабирования:

  • Нажмите на изображение, которое вы добавили в свой контроллер просмотра.
  • В инспекторе атрибутов справа выберите свое изображение.
  • Установите Режим в Вид в Аспект Заполнения (заполните весь экран, обрезая сверху/снизу или влево/вправо, если необходимо) или Aspect Fit (изображение в виде букв, чтобы целое изображение отображается незатронутым).

Attributes Inspector


Вы можете просмотреть ограничения, которые были созданы для вас. В контуре документа вы должны увидеть 4 ограничения в вашем представлении изображения:

Document Outline

Нажмите на ограничение, а затем просмотрите их в Инспекторе атрибутов справа. Вот 4, которые я создал:

Leading edge constraint

Trailing edge constraint

Top edge constraint

Bottom edge constraint

Ответ 2

Это то, что сработало для меня:

Режим просмотра:
Аспект заполнения

В качестве ограничений для изображения:
Выровнять центр X до: Superview
Равная ширина: Superview

Свойством 'Equal width' является та, которая масштабирует изображение до размера экрана.

Если вы хотите, чтобы кнопка находилась в определенной позиции, установите ограничения на нее в представлении, основные из которых вы хотите рассмотреть - это главное ограничение и любые ограничения слева или справа. Таким образом, вы указываете, где вы хотите поместить кнопку по отношению к ее сторонам.

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

Ответ 3

Не уверен, что я понимаю "точно", что вам нужно, но если вы хотите перетащить изображение в контроллер и этот вид изображения автоматически заполнит весь фон контроллера представления: просто перетащите компонент представления изображения в представление окна контроллера.

Вещь: если вы видите линию синих границ вокруг контроллера вида, перед перетаскиванием изображение не будет заполнять контроллер вида.

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

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