Xcode - Vary for Traits

xcode

#1

Здравствуйте. Прохожу курс по подписке “Мои первые приложения” урок №16 TConverter. Fixing interface elements 1. У Алексея Пархоменко в уроке Xcode версия 11. у меня сейчас версия 13. В выше названном уроке при закреплении объектов на экране при помощи constraits используется кнопка “Vary for Traits”, которая находится внизу, справа от выбора макета девайса. В версии 13 Xcode этой кнопки нет на том месте. Подскажите пожалуйста куда она делась)))? Пробовал constraits перераспределить после их объявления для вертикальной и горизонтальной ориентаций каждого девайса из device size classes в разделе Show the Attributes inspector, но они почему-то перекрещиваются и в итоге когда я настраиваю constraits объектов для портретной ориентации и перехожу в горизонтальную ориентацию и там настраиваю изображение - оно меняется и в портретной ориентации. Подскажите почему так происходит? Пока решил вопрос так: помимо constraits я так же определяю изображение для каждой из ориентаций отдельно в том же Show the Attributes inspector. В итоге у меня получается несколько изображений хранится в View Controller вместо одного, настроенного для всех ориентаций и девайсов.


#2

при закреплении объекто.в на экране при помощи constraits используется кнопка “Vary for Traits”, которая находится внизу, справа от выбора макета девайса. В версии 13 Xcode этой кнопки нет на том месте

Она там же, только по другому называется.


#3


не могу никак найти))), подскажи куда смотреть


#4

При моем способе решения проблемы возникают со slider и image view. А для label проблем нет, они настраиваются отдельно для каждой ориентации.


#5

Добрый день! застрял на том же месте, вам удалось решить проблему ?


#6

Добрый день. Пока не удалось. Говорят эта кнопка там есть, но я перепробовал все кнопки и не нашел ее. А при перераспределении constraits после их объявления для кнопок проблем не возникает. Проблемы начинаются у меня для изображения и для слайдера. То есть например для вертикальной ориентации я определил констрейты и при переходе в горизонтальную ориентацию и объявлении и определении констрейтов только для вертикальной ориентации и обратном переходе в вертикальную ориентацию вижу что label остались на своих местах, а image view и slider сместились как в горизонтальной ориентации.


#7

Если вы найдете решение, напишите здесь.


#8

Ок, хочу связаться с создателем курса по этому вопросу


#9

Вот что мне ответили в Телеграмм чате :
According to this, the only work around is doing the following:

  • You set constraints for the active size class
  • Trait Variations need to be enabled in the File Inspector tab
  • After that you can manually add traits by clicking the plus next to a property (it’ll use the active size class but you can modify it while creating too)

Unfortunately, this only works for properties, and not constraints. There is no other work around for this.

Everyone who has these problems should post bug reports to let the Xcode developers know.

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


#10

Вот ещё Иван ответил ,

Это по ссылке в реддит :

I had the same question as you andafter a lot of experimenting found out the following:

  • The “View As” menu is still in it’s usual place and works as you expect
  • You set constraints for the active size class
  • Trait Variations need to be enabled in the File Inspector tab
  • After that you can manually add traits by clicking the plus next to a property (it’ll use the active size class but you can modify it while creating too)

Hope that somewhat helps i’ve only been using xcode for a month now.


#11

Да, установка ограничений и последующее определение их для необходимой ориентации работает только для label, а для slider и image view почему-то не работает. Из-за этого решил купить курс iOS-разработчик с нуля за 20 недель


#12

Надеюсь на курсе более эффективной будет учеба чем самостоятельное обучение.


#13

А курс у свифтбук купили ?
Сколько стоит или если можно ссылку , тоже задумываюсь купить


#14

https://online.swiftbook.ru
Еще не купил. Планирую к концу месяца совершить покупку.


#15

ребята всем приветы я нашел решение сам долго искал все решения как на зло на английском в Xcode когда не разбираешься вообще тяжко но все ж разобрался вначале добавляете констрейнты без кнопочки “vary for traits” (без привязки к сайт классам) затем добавляете уже нужную привязки к сайт классу и ориентации через выбор добавленного констрейнта слева - в атрибут инспекторе :slight_smile:
если у кого что не вышло пишите мне в телегу подскажу

телега whoisjohngold через собачку буду рад помочь сам много времени потерял пока разобрался


#16

выставьте констрейнты в нужной вам ориентации
тыкайте в constraints в документ оутлайн (меню слева)
в атрибут инспекторе (меню справа) тыкаем плюсик
выбираем нужные высоту и ширину
добавляем
снимаем галку с инсталлед
ставим на инсталлед с высотой и шириной для нашего случая