SA1111 — Способы настройки внешнего вида приложения
Содержание страницы
В предыдущей главе вы узнали о реализации специальных возможностей в вашем приложении. При правильном использовании специальных возможностей вы даете самой большой группе пользователей возможность использовать ваше приложение, независимо от любых аудио -, визуальных или двигательных нарушений, которые они могут иметь.
Теперь, когда у вас большая база пользователей, пришло время выделить ваше приложение среди миллионов приложений в App Store. Есть разные способы сделать это. Реклама, сарафанное радио и получение самых популярных веб-сайтов для просмотра вашего приложения-это всего лишь несколько способов.
Прежде чем вы сделаете что-либо из этого, важно сделать ваше приложение уникальным. В этой главе вы узнаете некоторые из лучших практик для создания внешнего вида вашего приложения. Вы также узнаете, как использовать различные функции iOS, чтобы придать вашему приложению стиль, который стоит на голову выше остальных.
Определение внешнего вида
В этом разделе книги вы узнаете много нового о руководстве Apple по человеческому интерфейсу (HIG). Эта глава ничем не отличается. Брендинг, использование темного режима, экран запуска и типография-вот лишь некоторые из пунктов, описанных в HIG, которые могут помочь установить стиль вашего приложения. Этот стиль обычно называют внешним видом вашего приложения.
Определение внешнего вида может варьироваться, но в этой главе вы сосредоточитесь на двух областях:
- Брендинг: Ваше название приложения, логотип и схема дизайна могут помочь вашему приложению выделиться из толпы.
- Язык дизайна: общая схема, определяющая систему дизайна для стиля вашего приложения. Вы, вероятно, знакомы с языком дизайна iOS, и вы также можете использовать его для своего приложения.
Возможно, вы заметили совпадение между этими двумя областями. Брендинг и язык дизайна относятся к базовой схеме дизайна. Ваша схема дизайна более очевидна в логотипе приложения или на стартовом экране. Схема также может незаметно появляться в элементах управления вашего приложения, полагаясь на базовый язык пользовательского интерфейса. Здесь схема действует как скин для существующих элементов управления.
Имея в виду эти две области, ориентированные на дизайн, пришло время взглянуть на части внешнего вида вашего приложения. Во-первых, вы посмотрите на первое, что видит ваш пользователь, когда он открывает ваше приложение: экран запуска.
Экран запуска
Если у вас есть бренд, очень важно как можно скорее показать его пользователям. Кроме значка приложения, нет лучшего места для этого, чем экран запуска приложения. HIG содержит важные рекомендации, когда дело доходит до экрана запуска:
- Используйте встроенную раскадровку: используйте преимущества вашего проекта
LaunchScreen.storyboard
и избегайте использования статического изображения, если это возможно. Раскадровка может адаптироваться к различным размерам и ориентации экрана, которые поддерживают устройства iOS. - Имитация быстрого запуска: Если раскадровка очень похожа на начальный экран приложения, она может имитировать быстрый запуск приложения. Это ловкость рук трюк, или, может быть, ловкость глаз трюк, который может держать ваш пользователь от обнаружения любой медлительности в запуске вашего приложения.
- Поддержка темного режима: Экран запуска должен поддерживать темный режим, о котором вы узнаете позже в этой главе.
- Избегайте локализации: iOS отображает содержимое экрана запуска иначе, чем другие раскадровки в вашем проекте, и не меняется. Таким образом, iOS не будет локализовать текст на этой раскадровке.
Вот как выглядит текущий экран запуска PetSave:

Экран запуска PetSave.
Это статичное изображение! Это помогает передать брендинг приложения. Однако, согласно HIG, это не идеально, так как вы должны избегать статических изображений, если это возможно. Замените это чем-то, что выглядит как главное окно без содержимого в середине.
Откройте проект в папке starter этой главы, затем Launchboard.storyboard. Откройте библиотеку Xcode, нажав Command-Shift-L и добавьте контроллер представления. Не забудьте сохранить существующий контроллер представления с изображением на данный момент:

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

Добавьте панель вкладок и панель навигации.
Затем удалите текст с панели навигации и установите значки элементов панели вкладок в соответствии с тем, что находится в главном приложении: пользовательский элемент с символом location SF и пользовательский элемент с символом magnifyingglass SF. Отсутствие текста гарантирует, что ваши пользователи будут иметь постоянный опыт, независимо от их родного языка.

Установите начальное состояние для баров.
Установите этот контроллер представления в качестве начального контроллера представления раскадровки в инспекторе атрибутов:

Установите начальный контроллер представления.
Обозначив этот контроллер представления как используемый, вы можете сохранить оба на случай, если ваш дизайнер передумает позже.
Создайте и запустите приложение в симуляторе. Теперь вместо того, чтобы видеть raywenderlich.com фирменный стартовый экран, симулятор представляет собой нечто похожее на ваш домашний экран, но без контента:

Новый интерстициальный стартовый экран.
Этот новый экран дает вам лучший переход от запуска к фактическому внешнему виду домашней страницы, но он плохо работает с модулем адаптации, который открывается при первом запуске, так как фон отличается.
Это может быть одно из тех достаточно хороших дизайнерских решений, которые вы можете принять при разработке своего приложения. Вы и ваш дизайнер должны будете принять это решение.
Говоря об адаптации, использование адаптации в вашем приложении-лучшая практика, поэтому вы вернетесь к этому в следующий раз.
Использование адаптации
Использование функций iOS, таких как отслеживание местоположения, доступ к HealthKit и движение устройства, требует, чтобы пользователь предоставил приложению разрешение на доступ к этим данным. Вы можете захватить эту информацию в представлениях, где вам нужно будет использовать ее в первый раз.
Тем не менее, размещение этих подсказок внутри модуля адаптации-лучшая техника. Хотя HIG предлагает не запрашивать информацию о настройке заранее, он говорит, что это допустимо при первом запуске. При использовании onboarding, имейте в виду:
- Быстро доберитесь до своего приложения: ваш пользователь не хочет сидеть через экран после экрана встроенного материала. Они предпочли бы использовать ваше приложение как можно скорее. Получите необходимую информацию и перейдите в свое приложение, как только вы ее получите.
- Избегайте лицензионных соглашений: Избегайте отображения лицензионных соглашений и других юридических пользователей, которые должны принять перед использованием вашего приложения. Если это абсолютно необходимо, он может перейти в другое место в вашем приложении.
- Выполнить onboarding один раз: модуль onboarding должен выполняться при первом запуске приложения. Последующие запуски должны идти прямо на главный экран приложения. Если вы можете, сохраните настройки в облаке. Таким образом, если пользователь переустанавливает приложение на устройстве, ваше приложение может получить как можно больше информации из облака и только перепрофилировать пользователя для получения другой информации, когда она ему нужна.
Адаптация в PetSave находится в довольно хорошей форме, как вы видели ранее в книге:

3 экрана бортового модуля PetSave.
- Просто и по существу: адаптация не перетаскивает пользователя через множество экранов и быстро знакомит его с функциями более высокого уровня приложения.
- Показывает язык дизайна: фоновое изображение и изображения на экранах показывают игривых животных, нарисованных в стиле приложения.
С точки зрения дизайна, адаптация включает в себя брендинг приложения, и это здорово. Однако ранее вы видели, что он не совсем совпадает с экраном запуска. Позже в этой главе вы коснетесь еще одной причины, по которой вы можете отправить модуль адаптации обратно разработчику для дальнейшей работы — темный режим.
Создание более тонких деталей
Ваш стартовый экран и адаптация больше сосредоточены на аспекте брендинга вашего приложения. Они находятся в лице пользователя и являются важным аспектом того, чтобы сделать ваше приложение уникальным. Базовый язык дизайна, который определяет внешний вид вашего приложения, может быть более тонким, но все же может работать над тем, чтобы придать вашему приложению уникальный вид.
Как и в случае с экраном запуска и адаптацией, встроенные функции в iOS и Xcode могут помочь вам создать этот язык дизайна без особых усилий.
Системные и пользовательские шрифты
Почти все приложения имеют текст для передачи информации пользователям. В предыдущей главе вы узнали, как системные шрифты в iOS имеют встроенную поддержку специальных возможностей, таких как динамический тип. Кроме того, системные шрифты:
- Легко читаются: Apple разработала системные шрифты San Francisco (SF) и New York (NY), чтобы их было легко читать в различных размерах, весах и стилях.
- Поддержка нескольких языков: когда вы локализуете свое приложение, оно становится доступным для людей по всему миру. Системные шрифты в iOS имеют встроенную поддержку более ста языков.
Системные шрифты содержат много встроенной гибкости. Вот несколько рекомендаций о том, когда следует воспользоваться этой гибкостью в вашем приложении:
- Подчеркните важность: Как и в тексте этой книги, вы можете подчеркнуть важность слова или фразы, выделив их жирным шрифтом или курсивом.
- Используйте как можно меньше шрифтов: если вы переключаетесь между различными шрифтами в своем приложении, оно может выглядеть разрозненным и дать пользователю не идеальный опыт.
- Проверьте пользовательские шрифты: Если вы используете пользовательский шрифт, убедитесь, что он разборчив и адаптируется к функциям специальных возможностей. Системные шрифты уже поддерживают эти функции из коробки.
Вы можете установить пользовательский шрифт в свой проект Xcode за несколько простых шагов. Сначала добавьте файл шрифта в свой проект:

Добавление шрифта в проект PetSave.
Шрифт здесь называется Sheep Sans. Он доступен по адресу DaFont.com. Автор был достаточно любезен, чтобы сделать его бесплатным для использования.
Прежде чем продолжить, добавьте шрифт к целям PetSave и PetSaveTests:

Добавьте шрифт к соответствующим целям.
Затем вам нужно указать, какие шрифты включить в пакет приложений.
Добавьте новую запись в Info.plist под названием Шрифты, предоставленные приложением. В этой записи установите значение элемента 0 в имя файла шрифта, sheep_sans.ttf
:

Добавить шрифт в Info.plist
Затем вы можете использовать новый шрифт с Font.custom
помощью метода. Откройте AnimalRow.swift и обновите модификаторы для имени и породы животного. Введите, чтобы использовать новый шрифт:
Text(animalName) .multilineTextAlignment(.center) .font(Font.custom("sheep_sans", size: 18, relativeTo: .title3)) .accessibilityLabel(animalName) Text(animalBreedAndType) .font(Font.custom("sheep_sans", size: 15, relativeTo: .callout)) .accessibilityLabel(animalBreedAndType) .accessibilityHidden(true)
custom
Метод Font
класса включает relativeTo:
аргумент, который позволяет адаптивно масштабировать шрифт в соответствии с этим стилем текста вместо стандартного, body
.
Используйте холст предварительного просмотра, чтобы увидеть, как выглядит новый шрифт:

Шрифт Sheep Sans в предварительном просмотре AnimalRow.
Этот текст очень похож на встроенный шрифт, но в хвосте строчной буквы “а”есть немного чутья. Даже незначительных отличий от встроенных шрифтов может быть достаточно, чтобы придать вашему приложению уникальный вид, который вы хотите.
Уникальный шрифт может, конечно, помочь сделать ваш язык дизайна более уникальным. Однако слишком уникальный шрифт может повредить пользователю. Если шрифт трудно читать, особенно на маленьком дисплее, таком как iPhone, пользователю может быть отказано в использовании приложения.
Стиль шрифта также может оказать влияние. Здесь на ум приходит обсуждение цветов в главе «Доступность». Кроме того, ваш язык дизайна должен гарантировать, что шрифт, особенно пользовательский, остается разборчивым, когда он выделен жирным шрифтом или курсивом.
Цвета являются жизненно важным компонентом вашего языка дизайна, особенно когда весь дисплей инвертируется, как это происходит в темном режиме.
Темный режим
Начиная с iOS 13, Apple предложила пользователям возможность просмотра своих просмотров в темном режиме. Темный режим-это общесистемное предпочтение, поэтому ваше приложение должно подчиняться этому параметру. Вы должны убедиться, что ваше приложение хорошо выглядит как в светлом, так и в темном режимах.
Скорее всего, если вы не планировали поддержку темного режима с самого начала, вы, вероятно, разработали в светлом режиме. Все в порядке! Имейте это в виду при определении того, как ваше приложение будет выглядеть в темном режиме:
- Ваша текущая цветовая схема: Как ваша текущая цветовая схема выглядит с более темной темой? Есть ли сейчас темные цвета на темных цветах?
- Вы потеряли контраст?: С гораздо более темной темой обязательно проверьте контрастность. Не забудьте свои логотипы или изображения.
- Проверьте пользовательские цвета: В то время как некоторые цвета и другие элементы пользовательского интерфейса, например
Spacer()
, автоматически обрабатывают переключение между светлым и темным режимами, пользовательские цвета этого не делают. Вам понадобится набор цветов для их обработки.
Как и во многих других областях iOS, в SwiftUI есть несколько приятных встроенных настроек по умолчанию, которые делают темный режим удобным в использовании:
- Адаптируемые цвета системы: темный режим является динамическим, что означает, что когда элементы пользовательского интерфейса выходят на передний план, их цвет фона слегка меняется, чтобы обеспечить визуальную разницу между передним и задним планом. Пользовательские цвета не поддерживают это динамическое качество, поэтому придерживайтесь системных фоновых цветов.
- Высококонтрастные цвета: системные цвета также обеспечивают достаточный контраст, по крайней мере, 7:1, что является еще одной причиной их использования.
- Поддержка цвета этикетки: первичные, вторичные, третичные и четвертичные цвета этикетки также, как вы уже догадались, естественным образом реагируют на изменения в светлом и темном режиме. Спасибо, Apple!
- Поддержка символов SF: символы SF поддерживают как светлый, так и темный режим, что является еще одной причиной использования символов SF, когда это возможно.
С этими знаниями пришло время взглянуть на PetSave и посмотреть, где он может использовать некоторые улучшения в темном режиме. У вас есть несколько вариантов, чтобы увидеть виды в темном режиме.
В предварительном просмотре SwiftUI используйте этот модификатор, чтобы включить темный режим:
.preferredColorScheme(.dark)
Это довольно просто! Если вы используете симулятор, вам нужно перевести весь симулятор в темный режим. Вы делаете это через Функции симулятора -> Пункт меню переключения внешнего вида или Shift-Command-сочетание клавиш.
Вот как выглядит холст предварительного просмотра для домашней страницы PetSave:

Домашний экран PetSave в темном режиме.
На высоком уровне это выглядит хорошо. Текст автоматически переключился с черного на белый, любезно предоставленный ОС. То же самое верно для фона List
и строк в списке. Даже цвета, в которых указаны возраст и пол, выглядят нормально на более темном фоне.
Однако, как только вы нажмете на строку, чтобы увидеть детали, вы увидите проблему:

Строка списка в темном режиме.
Поле тега, которое показывает шерсть питомца, имеет проблему контраста! Теперь темный фон находится за темным фоном тега и более светлым цветом текста.
Цветовые наборы обеспечивают решение этой проблемы. Вы можете указать набор цветов, который использует разные цвета в зависимости от того, находится ли приложение в светлом или темном режиме.
Чтобы сделать набор цветов, откройте Каталог активов в проекте. Щелкните правой кнопкой мыши папку «Существующие цвета» и выберите «Новый набор цветов»:

Добавьте новый набор цветов в активы проекта.
Появится новая запись цвета, позволяющая указать цвет для любого внешнего вида и темноты. Переименуйте цвет в coat-background-color. В любом образце внешнего вида укажите текущий цвет фона systemBrownColor
. Обновите панель атрибутов, чтобы отразить это:

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

Используйте желтый цвет системы для темного режима.
Этот цвет действует как хороший контраст с коричневым цветом из светового режима.
В AnimalDetailRow.swiftобновите блок, отображающий пальто:
if let coat = animal.coat { AnimalDetailCard( title: "Coat", value: coat.rawValue, color: Color(UIColor(named: "coat-background-color") ?? .systemBrown) ) }
Это обновление делает цвет подходящим цветом из coat-background-color
набора, а также резервным, если этот цвет есть nil
. iOS определяет правильный цвет для загрузки в зависимости от того, находится ли устройство в светлом или темном режиме.
Обновите холст предварительного просмотра, чтобы увидеть результат:

Бирку пальто гораздо легче увидеть.
В то время как темный режим легко использовать, он может потребовать небольшой работы с вашей стороны, чтобы убедиться, что ваш язык дизайна совместим. Когда вы вносите изменения в темный режим, старайтесь поддерживать единообразный внешний вид всего приложения в максимально возможной степени, чтобы поддерживать ощущение согласованности в приложении.
Поддержание последовательности
Согласованность — важнейшее качество вашего языка дизайна. Хотя каждое представление в вашем приложении может отображать различную информацию, дизайн вокруг каждого представления должен оставаться последовательным, чтобы напомнить пользователю, что он находится в вашем приложении. Они будут ассоциировать ваш уникальный внешний вид с использованием вашего приложения.
Существующий язык дизайна iOS хорошо известен и в основном используется во всех приложениях Apple. Воспользуйтесь преимуществами этого языка дизайна, опираясь на него с вашими настройками.
Ранее вы узнали, что шрифты должны оставаться последовательными. То же самое и с цветом. Например, ваш язык дизайна может диктовать, что заголовки всегда должны быть определенных оттенков зеленого, независимо от того, находитесь ли вы в светлом или темном режиме.
Иконография — важная часть вашего языка дизайна. Вы можете использовать символы SF не только для обеспечения согласованности значков в вашем приложении, но и с другими приложениями на устройстве пользователя. Поэтому руководство по иконографии состоит в том, чтобы использовать символы SF, когда это возможно.
Как обычно, символы SF имеют встроенные функции, которые помогут вам:
- Тонировка: Символы SF отлично смотрятся при тонировке. Если вы выберете цвет оттенка для всего приложения, любые символы SF, которые вы используете, будут автоматически скорректированы.
- Полые против заполнено: Многие символы SF бывают двух форматов: полые и заполненные. В зависимости от вашего фона и общей схемы дизайна, вы можете захотеть, чтобы некоторые символы были полыми, а другие заполненными.
- Встроенный темный режим: Apple разработала символы SF, чтобы они отлично выглядели в темном режиме.
Сюрприз! Вы использовали символы SF все время, пока читали книгу! Значки в TabView
являются общими символами SF и должны быть знакомы большинству пользователей iOS:

Значки в окне вкладок.
Есть еще одна иконография, которую использует приложение. Давние читатели raywenderlich.com книги могут распознать его:

В raywenderlich.com логотип является частью брендинга PetSave.
Вот именно! В raywenderlich.com логотип является заполнителем для изображений строк таблицы и обеспечивает тонкий брендинг внутри приложения.
Функции Xcode и iOS помогают воплотить в жизнь элементы схемы дизайна вашего приложения. Есть еще один набор инструментов, которые помогут расширить охват вашего приложения и одновременно улучшить внешний вид.
Интернационализация и локализация
Вы можете не ассоциировать внешний вид с интернационализацией и локализацией. Интернационализация, или i18n, — это процесс подготовки вашего приложения к локализации, или l10n. Думайте об этом процессе как о применении международного внешнего вида к вашему приложению.
Этот процесс может происходить в нескольких областях вашего проекта:
- Локализованные ресурсы: Xcode поддерживает локализованные пакеты ресурсов для текста и изображений и поддерживает их отдельно от остальной части проекта. Таким образом, вы можете локализовать их отдельно и включить в свой проект позже в цикле разработки.
- Символы SF: Символы SF, похоже, имеют бесконечный список возможностей, включая поддержку локализации.
- API-интерфейсы Foundation: API-интерфейсы в Foundation предоставляют множество функциональных возможностей для работы с различными датами, ценами, валютами, длиной и многим другим. Теперь вам не нужно писать конвертер дат в миллионный раз!
- Поддержка макета: SwiftUI и UIKit имеют встроенную поддержку функций локализации, таких как текст справа налево.
Как только вы знаете, какие локали и языки вы хотите поддерживать, настройка вашего проекта проста. В этом примере вы примените испанскую локализацию к PetSave.
Создание локализуемого Strings
файла
Перед локализацией проекта добавьте Localizable.strings в проект. Щелкните правой кнопкой мыши проект, выберите Новый файл и выберите Файл строк:

Добавление файла Strings в проект.
Назовите его Localizable.strings, этот файл хранит пары ключ-значение, представляющие текст в вашем приложении и перевод для данного языка.
iOS будет автоматически искать локализуемые файлы строк, подобные этим, при запуске на соответствующих языках. Чтобы сообщить iOS, что приложение поддерживает другие языки, вам нужно добавить локаль в Xcode.
Добавление локали в Xcode
Теперь, когда файл localizable Strings установлен, пришло время локализовать ваш проект!
Откройте файл проекта. В разделе Локализациинажмите кнопку + и добавьте испанский язык:

Локализация PetSave в Xcode.
Появится диалоговое окно с вопросом, что вы хотите локализовать. Доступен только LaunchScreen.storyboard, поэтому нажмите Готово:

Локализация PetSave в Xcode.
Вы должны убедиться, что Localizable.strings, которые вы сделали, локализуемы. Выберите этот файл и в инспекторе файлов в Xcode нажмите кнопку Локализовать:

Локализация PetSave в Xcode.
В появившемся диалоговом окне выберите Испанский:

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

Добавьте английский язык в параметры локализации.
Добавление записей локализации
Добавьте следующие записи в английский файл Localizable(английский):
"Age" = "Age"; "Gender" = "Gender"; "Size" = "Size"; "Coat" = "Coat"; "Adult" = "Adult"; "Male" = "Male"; "Female" = "Female"; "Unknown" = "Unknown"; "Short" = "Short"; "Details" = "Details"; "Contact" = "Contact"; "Location" = "Location"; "Rank me!" = "Rank me!"; "Animals near you" = "Animals near you"; "Near you" = "Near you"; "Search" = "Search"; "Young" = "Young";
Значения здесь совпадают с ключами, потому что английский язык является базовым языком проекта. Теперь добавьте следующие переводы в испанский файл Localizable(испанский):
"Age" = "Edad"; "Gender" = "Género"; "Size" = "Talla"; "Coat" = "Pelo"; "Adult" = "Adulta"; "Male" = "Masculina"; "Female" = "Femenino"; "Unknown" = "Ignoto"; "Short" = "Corta"; "Details" = "Detalles"; "Contact" = "Contacto"; "Location" = "Posición"; "Rank me!" = "Clasificarme!"; "Animals near you" = "Animales cerca de usted"; "Near you" = "Cerca de usted"; "Search" = "Búsqueda"; "Young" = "Menor";
Настройка локали вашей схемы
Чтобы правильно протестировать локализацию, вам необходимо обновить схему вашего проекта. Вам все еще нужна существующая схема, поэтому вам нужно будет клонировать ее и вносить изменения.
Откройте раскрывающийся список схема и выберите Изменить схему. В появившемся диалоговом окне выберите Дублировать схему:

Дублирование схемы в Xcode.
После нажатия кнопки Дублироватьпереименуйте схему PetSave (Debug, испанский):

Переименование схемы в Xcode.
Под записью «Выполнить» в боковом столбце найдите вкладку «Параметры«. Измените язык приложения на испанский:

Изменение языка приложения на испанский.
Тестирование проекта
В окне выбора схемы выберите схему PetSave (Debug, испанский) и запустите приложение в симуляторе.

Домашний экран PetSave на испанском языке.

Вид животных подробно на испанском языке.
iOS не переводит все слова. Большая часть данных, используемых приложением, поступает из удаленного API, и этот текст доступен только на английском языке.
Но Xcode может заранее переводить другие элементы, такие как заголовки, фиксированные строковые значения и заголовки элементов панели вкладок. С помощью этих доступных переводов вы добавили еще один слой внешнего вида в свое приложение. Вы также сделали еще один шаг в расширении охвата вашего приложения для большего числа людей по всему миру!
Ключевые моменты
- Брендинг и язык дизайна вашего приложения являются основными компонентами внешнего вида вашего приложения.
- После значка приложения экран запуска может быть первым местом, где вы познакомите пользователя с вашим брендингом.
- Начальный запуск вашего приложения может содержать адаптацию, которая знакомит пользователя с вашим приложением.
- Регистрация должна быть краткой, но информативной.
- Шрифты помогают определить текстовую часть внешнего вида вашего приложения.
- Шрифты, особенно пользовательские, должны быть доступными и легко читаемыми.
- Ваш язык дизайна должен поддерживать темный режим и соответствующим образом корректировать цвета. Наборы цветов полезны при адаптации приложения к темному режиму.
- Стремитесь к согласованности во всем языке дизайна, чтобы ваш пользователь не отключился и не подумал, что он внезапно оказался в другом приложении.
- Интернационализация и локализация придают вашему приложению международный вид. Xcode предоставляет такие инструменты, как локализованные пакеты ресурсов для вашего проекта, а Foundation имеет API, которые помогают выражать значения в форматах, специфичных для локали.
Куда идти отсюда?
Поздравляем! Вы закончили эту главу и этот раздел книги. Вы получили очень высокоуровневый взгляд на содержание Руководства Apple Human Interface Guidelines.
В этом разделе книги вы узнаете, как анимация, пользовательские элементы управления, специальные возможности и настройки внешнего вида могут сделать ваше приложение уникальным в огромном море приложений в App Store.
Тем не менее, всегда есть чему поучиться. Как и прежде, ознакомьтесь с остальной частью Руководства Apple по человеческому интерфейсу (HIG) для других тем, не затронутых в этом разделе. У Apple есть некоторые рекомендации по локализации, и они также обеспечивают более глубокое погружение в использование символов SF.
Использование API перевода для выполнения динамического перевода-это один из способов перевода текста, поступающего из источника, который находится вне вашего контроля, например API Petfinder. Если вас интересует этот подход, вы можете рассмотреть возможность использования такого API перевода. Есть бесплатные и платные варианты.
В следующей главе вы узнаете о сохранении конфиденциальности пользователей при использовании вашего приложения.