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

Внимание! Этот перевод, возможно, ещё не готов, так как модераторы установили для него статус «идёт перевод»

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

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

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

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

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

Чтобы настроить отображение с помощью контроллера вида , <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> с нижним краем экрана.) Оба свойства легко задаются при необходимости.

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

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

Примечание

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

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

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

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

Совет

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

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

Внимание! Этот перевод, возможно, ещё не готов.
Его статус: идёт перевод

Переведено на Нотабеноиде
http://notabenoid.org/book/48438/199091

Переводчики: KuLena

Настройки

Готово:

81.81% КП = 1.1

Непереведённые фрагменты будут пропущены.