Дополнение к Лекциям 15, 16 и 17 Stanford CS 193P iOS 7. Адаптивный интерфейс с двумя storyboards для iOS 9.

Screen Shot 2016-01-25 at 11.38.41 AM

Концепция построения адаптивного пользовательского интерфейса начиная с iOS 8 сводится не только к применению механизма Autolayout, она буквально пронизывает все самые интересные элементы пользовательского интерфейса (UI) :  Split View Controllers, Popovers, Action Sheets,  модальные View Controllers. Теперь Split View Controllers и Popovers, можно использовать не только на iPad, но и на iPhone, они подстраиваются автоматически под размер и ориентацию прибора, а точнее под Size Classes. В них заложено по умолчанию адаптивное поведение для приборов с Compact размером, и вам вообще не нужно ничего специально настраивать. Но иногда такое адаптивном поведение может нам не понравиться. Например, Popover для iPhone работает как модальный View Controller, полностью оккупирующий весь экран. Если вас это не устраивает, то вы можете настроить его минимальными программными усилиями нужным вам образом, например, заставив функционировать Popover на iPhone так, как мы привыкли видеть его на iPad, то есть ввиде маленького всплывающего «окошка».

Идея создания адаптивного интерфейса сводится к тому, что можно использовать одну storyboard для проектирования пользовательского интерфейса для различных приборов и их ориентаций.  Мы видели это  в посте «Адаптивные интерфейсы SplitView Controller и Popover в iOS 9», где используются адаптивные свойства   Split View Controllers и Popovers.

Читать далее

Stanford CS 193P iOS 7 Лекция 17 — фотокамера, датчики движения и Core Motion, «жизненный цикл» приложения (+iOS 9)

Лекция 17 начинается с продолжения демонстрационного примера Photomania Add Photo из предыдущей лекции: небольшая корректировка кода, связанная с очисткой imageURLs, и обработка ошибок местоположения.

Затем следует короткое теоретическое введение о том, как использовать фотокамеру с помощью класса ImagePickerController, который является subclass UIViewController. И вы можете разместить его на экране либо модально, либо в Popover, в зависимости от того, находитесь ли вы на iPad или на iPhone, и это первый раз, когда у нас будет  View Controller, который приходит не со storyboard.
Используем возможности  ImagePickerController для работы с реальной фотокамерой в приложении Photomania.

Читать далее

Stanford CS 193P iOS 7 Лекция 16 — Modal Segues, Text Fields, Alerts и Action Sheets (+iOS 9)

Screen Shot 2016-01-12 at 2.19.08 PM
Лекция 16 начинает с модальных View Controllers, которые захватывают весь экран на iPhone и представляются как Popover на iPad. Появление модальных View Controllers обеспечивается модальным Modal segue , а обратный возврат данных — связанным с ним отсоединяющий Unwind segue. Modal segue достаточно легко понять, а вот Unwind segue может показаться несколько запутанным. Профессор Хэгерти очень подробно рассказывает о создании Unwind segues, о том, когда можно применять Unwind segues, а когда — нет, о причинах их скрытности — они не рисуются на storyboard. О том, как установить свойства этих segues, несмотря на их скрытность. Комбинация слайдов и демонстрационного примера помогают понять не только как устроены эти Unwind segues, но и каково их участия в жизни модальных View Controllers.

Читать далее