Интересные статьи об Apple, приложениях для iPhone и iPad, iTunes

Начните разрабатывать приложения для iOS сегодня, часть 1

Начните разрабатывать приложения для iOS сегодня, часть 1
Автор: Applifto 15 января 2015, 16:00 #apple #xcode #iphone #ipad #программирование #разработка

Создание приложений для  iOS — интересное и стоящее занятие. Если вы начинаете делать первые шаги в программировании, то у вас больше вопросов, чем ответов. С чего же начать? Этот гид даст возможность понять базовые принципы в разработке приложений для iOS. С помощью Mac и Xcode вы можете создать приложения для iPadiPhone и iPod touch. Из пунктов инструкции вы узнаете о том, где взять необходимые инструменты, ознакомитесь с основными концепциями и лучшими способы их реализации.

Продолжение тут: Начните разрабатывать приложения для iOS сегодня, часть 2

Установка

Этот материал предоставляет вам отправную точку для разработки приложений, которые будут работать на iPad, iPhone и iPod touch. Рассмотрите четыре урока этого руководства как лёгкое введение для создания вашего первого приложения, включающие инструменты, которые вам понадобятся, базовые концепции и лучшую практику, которые облегчат ваш путь.

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

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

Несмотря на то что это руководство познакомит вас со всеми этапами создания простого приложения, его главной пользой является помощь в знакомстве с компьютерным программированием в целом и с Объектно-ориентированным программированием в частности.

Берём инструменты

До того как вы сможете начать разработку отличных приложений, установите среду разработки и убедитесь в том, что у вас есть все нужные инструменты.

Для разработки iOS приложений вам понадобятся:

  • Компьютер Mac под управлением OS X 10.9.4 или более поздней версией
  • Xcode (последняя версия)
  • iOS SDK

Xcode — это интегрированная среда разработки от Apple (IDE). Xcode включает редактор исходного кода, графический редактор пользовательского интерфейса и многие другие функциональные особенности. iOS SDK расширяет набор инструментов Xcode и включает инструменты, компиляторы и фреймворки необходимые вам именно для iOS разработки.

Материал по теме: Xcode 6: рендеринг в реальном времени, визуальная отладка представлений и Swift

Скачайте последнюю версию Xcode бесплатно из App Store на вашем Mac. iOS SDK включён в Xcode.

Для загрузки последней версии Xcode

  1. Откройте App Store на вашем Mac (по умолчанию он в Dock’е)
  2. В поле поиска в верхнем правом углу наберите Xcode и нажмите Поиск
  3. Нажмите на кнопку Free free_2x.png
  4. Xcode загрузится в раздел приложения

Обзор Нескольких концепций Objective-C

Когда вы пишите код по руководству, большую часть времени вы потратите, работая с языком программирования Objective-CObjective-C — это расширение языка программирования С, которое предоставляет объектно-ориентированные возможности и динамическую систему времени выполнения. Вы получите все привычные элементы, такие, как примитивные типы (int, float и т. д.), структуры, функции, указатели и управляющие конструкции (while, if...else и оператор for). Вы также имеете доступ к функциям стандартной библиотеки программирования С, например, к тем, которые объявлены в stdlib.h и stdio.h.

Объекты — это строительные блоки для приложения

Когда вы собираете iOS приложение, большую часть времени тратиться на работу с объектами.

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

Классы — это чертежи для объектов

Класс описывает поведение и общие свойства для объекта любого типа.

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

Материал по теме: Ваше первое iOS приложение

Вы образуете объект, создавая экземпляр определённого класса. Вы делаете это, размещая и инициализируя его, допустимыми значениями по умолчанию. Когда вы размещаете объект вы выделяете необходимый объём памяти для него, и инициализируете все переменные экземпляра нулём. Процесс инициализации устанавливает переменные экземпляра и свойства в определённое значение чем определяет начальное состояние объекта. Цель инициализации — вернуть объект, готовый к применению. Чтобы использовать объект вам потребуется выполнить как размещение, так и инициализацию.

Одна из фундаментальных концепций в Objective-C — это классовое наследование, идея которого в том, что класс наследует поведение из родительского класса. Когда один класс наследуется от другого, наследник или подкласс наследует всё поведение и свойства, определённые в родительском классе. Подкласс может определить собственные добавочные поведения и свойства или переопределить поведение родителя. Это даёт вам возможность расширять действия класса без дублирования существующего поведения.

Объекты общаются через сообщения

Объекты взаимодействуют, отправляя друг другу сообщения, во время выполнения. В терминологии Objective-C один объект отсылает сообщение другому объекту, вызывая его метод.

Несмотря на то что есть несколько путей отправки сообщений между объектами в Objective-C, более общим является базовый синтаксис, использующий квадратные скобки. Если у вас есть объект somePerson класса XYZPerson, вы можете отправить ему сообщение sayHello вот так:

[somePersonsayHello];

Часть слева, somePerson — это получатель сообщения. Сообщение справа, sayHello — это имя метода, который вызывается у получателя. Другими словами, когда строка кода выше выполнится объекту somePerson, будет отправлено сообщение sayHello.

Протоколы определяют правила обмена сообщениями

Протокол определяет набор поведения, которое ожидается от объекта в данной ситуации. Протокол поступает в форме программного интерфейса, который любой класс может выбрать для реализации. Используя протоколы, два класса, отдалённо связанных наследованием, могут общаться друг с другом для достижения определённой цели, например, анализ XML кода или копирование объекта.

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

Руководство: Основы

Это руководство проведёт вас по всему процессу создания простого пользовательского интерфейса и по добавлению поведенческих особенностей, которое трансформирует интерфейс в рабочее приложение. Конечное приложение будет запускаться на iPhone и iPad.

Это руководство научит вас тому:

  • Как использовать Xcode для создания и управления проектом
  • Как определить ключевые части Xcode проекта
  • Как собрать и запустить ваше приложение на iOS Симуляторе
  • Как создать стандартный пользовательский интерфейс в storyboard’е
  • Как предварительно просмотреть интерфейс
  • Как использовать Авто Расположение для добавления гибкости интерфейса

После того как вы закончите это руководство, у вас будет приложение, похожее как изображённое на рисунке:

Это руководство использует Xcode 6.1.1 и iOS SDK 8.1, если вы используете другие версии вы можете столкнуться с некоторыми различиями.

Создание Нового Проекта

Xcode включает несколько втроенных шаблонов, которые вы можете использовать для разработки распространённых типов iOS приложений, таких, как игры, приложения с навигацией, основанной на закладках и приложения, построенные на табличном представлении данных. Большинство этих шаблонов имеют предварительно сконфигурированный интерфейс и файлы с исходным кодом. В этом руководстве вы начнёте с наиболее простого шаблона: Single View Application.

Работа с шаблоном Single View Application поможет вам понять базовую структуру iOS приложения и как контент попадает на экран. После того как вы узнаете, как всё работает, вы можете использовать один из других шаблонов для собственного приложения.

Чтобы создать новый проект:

  1. Откройте Xcode из каталога Приложения

Появится Окно приветствия Xcode

Если проектное окно появляется вместо Окна приветствия не беспокойтесь, вы, возможно, создавали или открывали проект в Xcode ранее. Просто используйте пункт меню следующего шага, чтобы создать проект.

2. В Окне приветствия нажмите «Создать новый Xcode проект» (или выберите File > New > Project).

Xcode откроет новое окно и покажет диалог, в котором вы сможете выбрать шаблон.

3. В разделе iOS в левой части диалога выберите Приложение.

4. В главной области диалога нажмите Single View Application и после нажмите Далее.

5. В появившемся диалоговом окне назовите ваше приложение и выберите дополнительные опции для вашего проекта.

Используйте следующие значения:

  • Product Name: ToDoList

Xcode использует имя продукта в качестве названия вашего проекта и вашего приложения.

  • Organization Name: называние вашей компании, или ваше собственное имя. Это поле можно не заполнять.
  • Organization Identifier: идентификатор вашей компании, если он есть. Если нет, то используйте com.example.
  • Bundle Identifier: это значение автоматически сгенерируется, основываясь на Product Name и Organization Identifier.
  • Language: Objective-C
  • Devices: Universal

Universal приложение — это то приложение, которое может запускаться и на iPhone и на iPad.

  • Use Core Data: оставьте не выбранным.

6. Нажмите Далее.

7. В появившемся диалоговом окне выберите куда будет сохранён ваш проект и нажмите Создать.

Xcode откроет ваш новый проект в окне (называется это окно workspace window), которое будет выглядеть вот так:

Вы можете получить сообщение об ошибке, в котором будет написано «No signing identity found». Это предупреждение означает, что вы пока не настроили Xcode для iOS разработки, но вы можете закончить это руководство и без этого. В конце документа вы найдёте ссылку на руководство, которое поможет вам настроить Xcode и продолжить iOS разработку.

Знакомство с Xcode

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

Ещё несколько слов для ознакомления вас с рабочим пространством Xcode. Вы будете использовать элементы управления, располагающиеся как на рисунке ниже, на всём протяжении этого руководства. Понажимайте различные кнопки, чтобы понять как они работают. Если вы хотите узнать больше об интерфейсе, прочитайте для этого дополнительные статьи, которые вы найдёте кликнув по области в Xcode, с зажатым CTRLl и выбрав статью из появившегося меню быстрого вызова.

Запуск iOS Симулятора

Так как ваш проект основан на шаблоне Xcode, для вас автоматически настраивается базовая среда приложения. Даже если вы не написали ни строчки кода, вы можете собрать и запустить шаблон Single View Application без какой-либо добавочной конфигурации.

Для сборки и запуска вашего приложения используйте iOS Симулятор приложения, который встроен в Xcode. Как понятно из его названия iOS Симулятор позволяет вам увидеть как ваше приложение будет выглядеть и как будет вести себя, если мы запустим его на iOS устройстве.

iOS Симулятор может моделировать разные типы устройств iPhone, iPad с разными размерами экрана и т. д. В результате вы можете смоделировать ваше приложение на каждом устройстве под которое разрабатываете. В этом руководстве используется вариант iPhone 6.

Для запуска приложения в iOS Симуляторе

  1. Убедитесь что выбран iPhone 6 из всплывающего меню «Scheme» на панели Xcode.

Не спешите и посмотрите в меню, чтобы увидеть какие ещё варианты устройств доступны на iOS Симуляторе.

2. Нажмите кнопку Запустить, находящуюся в верхнем левом углу панели Xcode.

Также вы можете выбрать Product > Run (или нажать Command-R). Если вы в первый раз запускаете приложение Xcode спросит хотите ли вы включить режим разработки на вашем Mac. Режим разработки позволяет Xcode иметь доступ к определённым функциям отладки без необходимости ввода вашего пароля каждый раз. Решите, хотите ли вы включать режим разработки и следуйте подсказкам. Если вы выберите не включать его, позже у вас запросят пароль. В руководстве режим разработки разрешён.

3. Посмотрите на панель инструментов Xcode по завершении процесса сборки. 

Xcode отобразит сообщения о процессе сборки в панели просмотра активных задач, которая находится в середине панели инструментов.

iOS Симулятор запустится автоматически после того, как Xcode завершит сборку вашего проекта. Это может занять пару минут при первом запуске.

iOS Симулятор откроется в режиме iPhone, как вы указали. Симулятор покажет ваше приложение на виртуальном экране iPhone. До того, как приложение полностью запустится вы увидите на экране запуска название вашего приложения ToDoList.

После, вы должны увидить, что-то вроде этого:

Сейчас шаблон Single View Application, почти ничего не делает, он только показывает белый экран. Другие шаблоны имеют более сложное поведение. Очень важно понять назначения шаблонов до того, как вы решите использовать их для создания приложения. Запуск вашего приложения на iOS Симуляторе без изменений — это лучший путь для понимания его разработки.

Закройте iOS Симулятор, выбрав iOS Simulator > Quit iOS Simulator (или нажав Command-Q)

Обзор исходного кода

Шаблон Single View Application содержит несколько файлов с исходным кодом, которые настраивают среду приложения. Большую часть работы выполняет функция UIApplicationMain, которая автоматически вызывается в вашем проекте в исходном файле main.m. Функция UIApplicationMain создаёт объект приложения, который настраивает инфраструктуру для работы вашего приложения с системой iOS. Это включает создание цикла выполнения, который доставляет входные события в ваше приложение. Вам не нужно работать с исходным кодом main.m напрямую, но важно понять, как он работает.

Посмотрим на исходный файл main.m

  1. Удостоверьтесь, что навигатор проекта открыт в навигационной панели. 

Навигатор проекта показывает все файлы в вашем проекте. Если навигатор проекта не открыт, нажмите крайнюю левую кнопку на панели переключения навигации. (Или откройте его, нажав View > Navigators > Show Project Navigator.)

2. Откройте каталог Supporting Files в навигаторе проекта кликнув по треугольнику рядом за ним.

3. Выберете main.m.

Xcode откроет исходный файл в основной области редактирования, как на рисунке:

Или вы можете дважды кликнуть на файл main.m, чтобы открыть его в отдельном окне.

Файл main.m и функция UIApplicationMain

Функция main в main.m вызывает функцию UIApplicationMain внутри autorelease pool

  1. @autoreleasepool {
  2. returnUIApplicationMain(argc, argv, nil, NSStringFromClass([XYZAppDelegateclass]));
  3. }

Оператор @autoreleasepool здесь для управления памятью в вашем приложении. Автоматический подсчёт ссылок (ARC) делает управление памятью простым, давая компилятору выполнять работу по отслеживанию того, кто владеет объектом. @autoreleasepool — это часть инфраструктуры управления памятью.

Вызов UIApplicationMain создаёт 2 важных начальных компонента вашего приложения:

  • Экземпляр класса UIApplication, называемый объектом приложения.

Объект приложения управляет циклом событий и координирует другие высокоуровневые особенности поведения приложения. Этот класс определённый в UIKit фреймворке, не требует от вас писать какой-либо дополнительный код, для его работы.

  • Экземпляр класса XYZAppDelegate, называемый делегатом приложения.

Xcode создаёт этот класс для вас как часть создания шаблона Single View Application. Делегат приложения создаёт окно, где рисуется контент вашего приложения и предоставляет место, для реагирования на изменение состояния приложения. Это то где вы пишете свой код. Как и все классы, класс XYZAppDelegate определён в двух файлах в вашем приложении: в файле интерфейса XYZAppDelegate.h, и в файле реализации XYZAppDelegate.m.

Когда ваше приложение запускается объект вызывает определённые методы у делегата, давая вашему коду, возможность выполнить свою работу. Именно тогда выполняется поведение приложения.

Исходный файл Делегата Приложения

Для того чтобы глубже понять роль делегата приложения, посмотрите его исходные файлы, AppDelegate.h (файл интерфейса) и AppDelegate.m (файл реализации). Чтобы посмотреть файл интерфейса делегата выберете AppDelegate.h в навигаторе проекта. Интерфейс делегата приложения содержит всего одно свойство: window. С помощью этого свойства делегат приложения следит за окном, в котором написан весь контент вашего приложения.

После посмотрите файл реализации делегата приложения. Для этого выберите AppDelegate.m в навигаторе проекта. Реализация делегата приложения содержит «скелеты» важных методов. Эти предопределённые методы позволяют объекту общаться с делегатом. В момент важного события времени выполнения, например, запуска приложения, предупреждения о загруженности памяти и завершения приложения — объект приложения вызывает соответствующий метод в делегате приложения, давая ему возможность отреагировать соответственно. Вам не нужно делать что-то особенное, для того, чтобы быть уверенным в том, что эти методы вызовутся в нужный момент времени — объект приложения берёт на себя эту часть работы.

Каждый из этих автоматически реализованных методов имеет поведение по умолчанию. Если вы оставите «скелет» реализации пустым или удалите его из вашего AppDelegate.m файла, вы получите поведение по умолчанию когда бы эти методы ни были вызваны. Используйте эти «скелеты» для того, чтобы добавить код, который будет исполнен когда метод будет вызван. В этом руководстве, вам не требуется использовать специальный код, поэтому вам не нужно вносить какие-либо изменения в файл AppDelegate.m.

Открытие Storyboard

На данный момент вы уже готовы создать Storyboard для вашего приложения. Storyboard — это визуальное представление пользовательского интерфейса приложения, которое отображает экраны с содержимым и переходы между ними. Вы используете Storyboard’ы для описания последовательности представлений.

Для того чтобы открыть storyboard нужно:

  • В навигаторе проекта надо выбрать Main.storuboard.

Xcode откроет storyboard в Interface Builder — в визуальном редакторе интерфейса, в области редактирования. Всё, что вы видите в окне представления — это рабочая область. На ней вы добавляете и размещаете элементы интерфейса.

Storyboard вашего приложения должна выглядеть вот так:

На этом этапе storyboard в вашем приложении содержит всего одну сцену, которая отображает экран с контентом. Стрелка, с левой стороны сцены — это индикатор главной сцены, который означает что она загружается первой во время запуска приложения. Сейчас сцена, которую вы видите, содержит одно Представление, которое управляется Контроллером Представлений. Вы узнаете больше о роли представлений и контроллеров представлений после этого урока.

Когда вы запускаете приложение на iPhone 6 iOS Симуляторе первое, что вы увидите на экране — это представление, добавленное на сцену. Но, когда вы посмотрите на сцену, которая находиться на рабочей области, вы заметите, что у неё нет точного размера экрана iPhone 6. Это происходит потому что у сцены имеется общее отображение интерфейса, которое может применяться на любом устройстве с любой ориентацией экрана. Вы используете эту функцию для создания Приспосабливающегося Интерфейса, который может автоматически регулировать отображение контекста в зависимости от устройства и ориентации. Вы узнаете больше о том, как сделать ваш интерфейс Приспосабливающимся чуть позже.

Построение Базового Интрефейса

Настало время построить базовый интерфейс для сцены, который позволит добавить новый элемент в список дел.

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

Чтобы добавить элемент в список дел вам нужно текстовое поле — элемент интерфейса, который позволяет пользователю вносить строки в текст.

Для добавления текстового поля на вашу сцену:

  1. Откройте бибилиотеку Объектов.

Библиотрека Объектов покажется внизу области утилиты. Если вы не видите Библиотеку, нажмите на третью кнопку слева на панели переключения библиотеки. (Ещё вы можете отобразить её, выбрав View > Utilities > Show Object Library.)

Посвившийся список отображает каждое имя объекта, описание и визуальное изображение.

2. В библиотеке Объектов напечатайте в поле фильтра text field, чтобы найти объекты Текстового Поля быстрее.

3. Перетащите объект Поле Текста из списка на вашу сцену.

Если необходимо вы можете увеличить изображение выбрав Editor > Canvas > Zoom.

4. Перетащите поле текста так, чтобы центр поля был посередине вертикальной направляющей и размещалось слева экрана.

Остановите перетаскивание, когда увидите что-то вроде этого:

Голубая направляющая помогает вам поместить текстовое поле. Она видна только когда вы перетаскиваете или изменяете размер объекта, направляющая исчезает когда вы отпускаете текстовое поле.

5. Если необходимо, нажмите на поле текста, чтобы выделить и изменить размеры.

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

6. Изменяйте положение левого и правого краёв поля текста, пока не увидите три вертикальные направляющие.

Прекратите изменение размера, когда увидите что-то вроде этого:

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

Для конфигурации заполнителя текстового поля:

  1. С выбранным полем текста откройте Инспектор Атрибутов image: ../Art/inspector_attributes_2x.png во вспомогательной области.

Инспектор Атрибутов показывается когда вы выбираете четвёртую кнопку слева на панели переключения Инспекторов. Он позволяет вам редактировать свойства объекта в вашем storyboard.

2. В Инспектор Атрибутов найдите поле, обозначающее Заполнитель, и наберите New to-do item.

3. Для того чтобы новый заполнитель отобразился нажмите Ввод.

Предспросмотр Вашего Интерфейса

Периодически просматривайте ваше приложение, чтобы удостовериться в том, что всё выглядет именно так, как и ожидалось. Вы можете предварительно просмотреть интерфейс, используя assistant editor, который оттобразит второй редактор, рядом с основным.

Для предпросмотра вашего интерфейса нужно:

  1. Нажмитена кнопку Assistant на панели инструментов Xcode, чтобы открыть assistant editor.

  1. На панели editor selector, переключите этот редактор из положения Автоматически в положение Предпросмотр.

3. Если вам нужно больше пространства для работы сверните навигатор проекта и вспомогательную область, нажав кнопки Navigator и Utilities на панели Xcode.

Ваше окно Xcode должно выглядеть вот так:

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

Как вы узнали ранее вы теперь разрабатываете Приспосабливаемый интерфейс, который масштабируется в зависимости от размеров iPhone и iPad. Сцена, которую вы видите в storyboard по-умолчанию отображается как общая версия интерфейса. Здесь вам нужно указать как интерфейс должен подгоняться к разным устройствам. Например, когда интерфейс сжимается до размеров iPhone, и текстовое поле тоже должно сжаться. Когда интерфейс расширяется до размеров iPad, текстовое поле тоже должно расшириться. Вы може определить эти правила масштабирования интерфйса используя Авто расположение.

Добавление Авто Расположения

Авто Расположение — это мощный механизм расположения, который легко помогает разработать адаптивное расположение. Вы описываете желаемые условия для позиционирования элементов на сцене, и потом позволяете механизму расположения определять как лучше реализовать эти условия. Вы описываете условия, используя ограничения — правила, которые объясняют как один элемент должен быть расположен относительно другого, или какой размер у него должен быть, или кто из двух элементов должен сжаться первым когда что-то уменьшает пространство для каждого из элементов.

Для текстового поля в этом интерфейсе должно быть фиксированным размер пространства от верхнего края устройства и не зависимое от устройства растяжение горизонтального поля.

Для расположения текстового поля, используя Авто Расположение, необходимо:

  1. В вашем storyboard выберете текстовое поле.
  2. На рабочей области выбирете иконку Auto Layout Align.

3. Выбирете пункты «Horizontal Center in Container» и «Vertical Center in Container».

4. Нажмите на кнопку Добавить два ограничителя.

5. На рабочей области выбирете иконку Auto Layout Pin.

6. Под «Spacing to nearest neighbor» выбирете два красных ограничителя, нажав на них.

Эти ограничения определяют расстояния до ближайшего соседнего представления спереди и сзади. В случае когда пункт «Constrain to margins» выбран, текстовое поле ограничивается относительно отступов представления.

7. Нажмите на кнопку Добавить два ограничителя.

Предпросмотр интерфейса обновится для отображения новых ограничителей:

Если вы не получаете того поведения, что ожидаете, используйте функцию Xcode по поиску ошибок в Автоматическом Расположении. С выбранным текстовым полем нажмите на иконку Resolve Auto Layout Issues и выбирете Reset для SuggestedConstraints для того, чтобы Xcode обновил интерфейс с действующими ограничениями, описанные выше. Или нажмите на иконку Resolve Auto Layout Issues и выбирете ClearConstraints для удаления всех ограничений в текстовом представлении и после попробуйте снова шаги, описанные выше.

Проверка: запустите ваше приложение на iOS Симуляторе, чтобы убедиться, в том, что созданная сцена выглядет так как ожиалось. У вас должно получится кликнуть внутри текстового поля и ввести строку, используя клавиатуру (если хотите, вы можете переключить клавиатуру, нажав Command-K). Если вы перевернёте устройство (Command-Левая Стрелка или Command-Правая стрелка) или запустите приложение на другом устройстве, текстовое поле должно расшириться или сжаться в зависимости от размера устройства и его ориентации.

Несмотря на то что ваша сцена добавления элемента пока не очень функциональна, но, базовый интерфейс есть и он функционирует. Рассмотрение разметки с самого начала руководства позволяет вам быть уверенным, что у вас твёрдый фундамент для надстройки.

Резюме

Теперь вы на правильном пути чтобы суметь создать базовый интерфейс используя storyboards. В оставшихся руководствах вы узнаете как добавить взаимодействие с вашим интерфейсом и напишите код для создания пользовательского поведения. Главы в промежутках между руководствами познакомят вас с концепциями, которые вы используете на практике, работая над вашим приложением.