iOS 7 UI Transition Guide / Руководство перехода на iOS 7: Updating the UI. Appearance and Behavior — Обновление интерфейса. Внешний вид и поведение

Английский оригинал Перевод на русский

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

Внешний вид и поведение

iOS 7 вносит ряд изменений в организацию и внешний вид интерфейса. Изменения во взаимодействии и компоновке макета, цветовой гамме, шрифтах влияют на все составные части вашего приложения. Кроме того, усовершенствования в распознавании жестов дают впечатляющий полный контроль над взаимодействием с пользователем.

KuLena 12.02.14 в 20:59

0

Использование контроллеров отображения

В iOS 7 контроллеры вида используют все пространство экрана. В то же время, iOS 7 предоставляет вам более гибкий контроль над тем, как контроллеры осуществляют свои функции. В частности, концепция полноэкранного макета была усовершенствована, чтобы позволить контроллерам определять положение каждого уголка в поле зрения.
(!!) текст довольно общий и абстрактный.

KuLena 12.02.14 в 21:05

0

Свойство <WantsFullScreenLayout> контроллера вида в iOS 7 считается устаревшим. Если вы в настоящее время присваиваете <wantsFullScreenLayout = NO>, контроллер может отобразить его содержимое в неожиданном месте экрана после запуска iOS 7.

KuLena 12.02.14 в 21:09

0

Чтобы настроить отображение с помощью контроллера вида , <UIViewController> предоставляет следующие свойства:

• edgesForExtendedLayout

Свойство <EdgesForExtendedLayout> использует <UIRectEdge type>, который задает каждый из четырех краев прямоугольника, а также опции "нет" и "все".

Используйте <edgesForExtendedLayout> чтобы указать, какие из границ должны быть расширены, независимо от полупрозрачности баров. По умолчанию это свойство имеет значение <UIRectEdgeAll>.

• extendedLayoutIncludesOpaqueBars

Если ваш проект использует непрозрачные бары, уточните <edgesForExtendedLayout>, установивив также значение <NO> для <extendedLayoutIncludesOpaqueBars>. (Это значение по умолчанию)

• automaticallyAdjustsScrollViewInsets

Если вы не хотите, чтобы (?)scroll view’s content(?) были изменены автоматически, установите <NO> в <automaticallyAdjustsScrollViewInsets>. (Значение по умолчанию <automaticallyAdjustsScrollViewInsets> - <YES>.)

• topLayoutGuide, bottomLayoutGuide

Свойства <TopLayoutGuide> и <bottomLayoutGuide> определяют расположение границ верхней и нижней панели/бара. Если панели должны перекрывать сверху или снизу представления, вы можете использовать Interface Builder для размещения представления относительно бара, создавая ограничения на низ <topLayoutGuide> или верх <bottomLayoutGuide>. (Если таких баров нет, то значения нижней границы <topLayoutGuide> и верхней границы экрана совпадают, аналогично совпадают верхняя граница <bottomLayoutGuide> с нижним краем экрана.) Оба свойства легко задаются при необходимости.

KuLena 12.02.14 в 21:28

0

В iOS 7 контроллеры вида могут поддерживать пользовательские анимированные переходы между экранами. Кроме того, вы можете использовать iOS 7 API для поддержки взаимодействия с пользователем во время анимированного перехода. Чтобы узнать больше, см. UIViewControllerAnimatedTransitioning Protocol и UIViewControllerInteractiveTransitioning Protocol.

KuLena 12.02.14 в 21:30

0

iOS 7 дает возможность контроллерам изменять стиль статусной строки, когда запущено приложения. Хороший способ динамически изменить стиль статус-бара – реализовать preferredStatusBarStyle, во время блока анимации обновлять внешний вид и вызывать setNeedsStatusBarAppearanceUpdate.

KuLena 12.02.14 в 21:35

0

Примечание

Если вы предпочитаете отказаться от настройки вида статус-бара контроллерами вида, то вместо этого установите стиль статус-бара используя метод <UIApplicationstatusBarStyle>, добавьте ключ <UIViewControllerBasedStatusBarAppearance> в файл <Info.plist> и присвойте ему значение "NO".

KuLena 14.02.14 в 07:58

0

Использование подцветки

В iOS 7, цвет подцветки – это свойство <UIView>. Приложения в iOS 7 часто используют цветовое кодирование для определения ключевых цветов, определяющих согласованность и (?)структуру выбора элементов интерфейса во всем приложении.

KuLena 16.02.14 в 16:54

0

Использование тонирования

В iOS 7, тонирование – это свойство <UIView>. Приложения в iOS 7 часто используют тонирование для определения значения цвета, отражающих активное и выбранное состояния элементов интерфейса во всем приложении.

KuLena 18.02.14 в 19:15

0

Когда вы указываете цвет подцветки для отображения, подцветка автоматически распространяются на все отображения в иерархии. Так как <UIWindow> наследует от <UIView>, вы можете указать цвет подцветки для всего приложения, изменив свойство (?)подцветки окна, используя такой код:

KuLena 16.02.14 в 17:08

0

Когда вы задаете тонирование для конкретного отображения, цвет автоматически распространяются на все отображения в иерархии. Так как <UIWindow> наследует от <UIView>, вы можете указать цвет тонирования для всего приложения, изменив свойство окна, используя такой код:

KuLena 18.02.14 в 19:17

0

Совет

Вы можете также установить подцветку приложения в Конструкторе Интерфейса. Общее Цветовое меню в разделе Документации Конструктора Интерфейса инспектора файлов позволяет открыть окно выбора цвета или задать определенный цвет.

KuLena 16.02.14 в 17:27

0

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

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

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

KuLena 16.02.14 в 18:29

0

Важно
Настройка свойства <tintColor> через внешние прокси API не поддерживается в iOS 7.

KuLena 16.02.14 в 18:58

0

Когда приходит оповещение или открывается список действий, iOS 7 автоматически приглушает цвета элементов нижнего слоя. Чтобы обработать это изменение цвета, (?)настраиваемый подкласс отображений, который использует при рендеринге <tintColor> должен переопределить <tintColorDidChange> и обновить рендеринг, когда потребуется.

KuLena 18.02.14 в 19:44

0

Примечание

В iOS 6, <tintColor> окрашивал фон панелей навигации, вкладок, панели инструментов, строки поиска и др. Чтобы задать оттенок панели в iOS 7 теперь используется свойство <barTintColor>.

KuLena 18.02.14 в 19:48

0

Использование шрифтов

iOS 7 вводит в обращение Динамический шрифт, использоание которого позволяет с легкостью отображать привлекательный текст в приложении.

Сообщение с самым маленьким размером букв
Сообщение с самым крупным из доступных размеров

KuLena 18.02.14 в 19:54

0

Когда вы применяете Динамического шрифт, вы получаете:

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

KuLena 18.02.14 в 20:00

0

Чтобы воспользоваться этими функциями, подготовьтесь отвечать на уведомления, которые посылаются, когда пользователь изменяет значение размера текста. Используйте метод <UIFont> – <preferredFontForTextStyle>, чтобы получить новый шрифт, который будет использоваться в интерфейсе. iOS 7 оптимизирует шрифты, установленные с помощью этого метода, для максимальной четкости в любом размере. Чтобы узнать подробнее о стилях текста и использовании шрифтов, см. раздел “Стили текста” в Руководство по Программированию для iOS.

KuLena 18.02.14 в 20:05

0

Использование Устройств распознования жестов

До iOS 7, если одну распознавателю требовался другой для завершения работы, вы использовали <requireGestureRecognizerToFail:>, чтобы установить постоянную связь между двумя объектами в момент их создания. Это прекрасно работает, когда распознаватели жестов не созданы в других частях приложении или структуре, и набор распознавателей жестов остается неизменным.

KuLena 18.02.14 в 20:38

0
Минутку...