Добрый день.
Вопрос зеленого новичка, прошу опытных стульями не кидаться.
Изучение начал с книги Swift для детей. Думаю, многие с ней знакомы.
Дошел до создания приложения BirthdayTracker.
В книге говорится, что нужно добавить “Add Missing Constraints” к View Controller чтобы приложение корректно отображалось и на 7+ и на 5s и т.д.
Делаю все по учебнику, но после добавления ограничений, в симуляторе 5s все поля уплывают. Если не добавляю ограничения, то поля выходят за пределы экрана, но остаются на своих местах.
В чем моя ошибка?
Оптимизация под размер экрана
сложно сказать, книга 2015-го года, что-то уже могло измениться. Посмотрите для начала выбрана ли у вас опция Use Auto Layout на панели File Inspector (справа)?
Там точно также только перевернуто на бок. Приложение изначально только под вертикальное положение сделано, так что поля не перемещаются при повороте устройтва
ок. Там у вас ограничений целая куча, долго разбираться))
Давайте для начала попробуйте сами посмотреть следующее - у вас дата пикер нормально отображается, а текстовые поля выезжают за край. Посмотрите трэйлинг ограничения для дата пикер и для текстовых полей, как они заданы? То же самое посмотрите ограничения для ширины у дата пикера и у текстовых полей?
знаете как это посмотреть?
ок, сделайте еще раз тот большой скриншот, только раздвиньте вправо полностью вторую слева панель, где в середине есть слово Constraints. Чтобы были видны все записи под этим словом. И также раскройте списки под двумя текстовыми полями - Round Style Text Field
да, так. Похоже вы там сделали пару ошибок с констрэйнтами, потому как одно текстовое поле справа у вас ограничено по второму полю, а второе поле никак не ограничено.
So, есть два варианта двигаться дальше. 1. вы можете заново пройтись по инструкции и посмотреть не сделаны ли где-то ошибки. Тогда возможно сработает опция Add Missing Constraints. Но не факт. 2. вручную сами поменяем констрэйнты, я подскажу как. Тогда должно отображаться нормально, но вышеназванная опция может не будет нужна.
По поводу ошибок, вполне вероятно, что где-то что-то проскочило, потому как странно уезжает у вас все и остается только одна буква. По идее, должно уезжать или все или блоками.
По инструкции я прошелся несколько раз. Там в книге даже картинки есть, так что сделал все точно как показано. Пробовал переделывать проект с самого начала (создавал новый проект) - результат прежний.
Если подскажете как исправить ручками буду крайне признателен. Я так понимаю, что в будущем есть вероятность снова столкнуться с тем, что встроенная функция не сработает и лучше быть во всеоружии.
А вот Вы пишите, что “вышеназванная опция может не будет нужна” - это Вы про “Add Missing Constraints”, правильно понял?
да, это она.
Ок, в этой самой панели выделяете первое текстовое поле - Round Style Text Field, а затем в самой крайней справа панели находим Size Inspector, это вторая иконка справа. И там находим размеры констрэйнтов, в них находим слово tralling.
Первым делом смотрим, какой там размер сейчас.
еще веселее, а говорите нет ошибок))
удаляете тот вариант, где нет значения - кликнуть(выделится) - клавиша delete
Затем выделяете второе текстовое поле и тоже смотрите, какие там значения
Ну так я же по инструкции ))) полагаюсь на авторов книги т.к. пока слабо понимаю, что делаю. Это мой первый язык, так что тугодумлю знатно )))
удалил: 2. Round Style Text Field
значения нет
А во втором вообще нет ни одного Trailing