UXPUB 🇺🇦 Дизайн-спільнота

Cover image for iOS 15 – что нового для продуктовых дизайнеров и разработчиков
Редакція
Редакція

Опубліковано

iOS 15 – что нового для продуктовых дизайнеров и разработчиков

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

Давайте рассмотрим все изменения, новые функции и API, которые будут интересны продуктовым дизайнерам и разработчикам.

Для начала подведем итоги первого дня:

Разрешение на определение геопозиции

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

Теперь в iOS 15 вы можете однократно поделиться данными своей геопозиции с приложением, нажав новую кнопку LocationButton. Каждый раз, когда вы повторно открываете приложение, вам придется снова нажимать эту кнопку, но вы не будите видеть предупреждение. Приложение будет иметь доступ к вашему местоположению только, когда вы сами решите поделиться им.

Пример оповещения о доступе к вашей геопозиции в iOS 14 и новое оповещение iOS 15 для кнопки LocationButton

Вы можете использовать LocationButton в SwiftUI и CLLocationButton в UIKit.

Подробнее читайте в документации Apple

Уведомления

Уведомления могут быть очень полезны, сообщая информацию пользователю, но иногда они могут раздражать или мешать. С iOS 15 вы получите больше контроля над своими уведомлениями.

С появлением новой функции “Фокусирование” (Focus) изменился способ доставки уведомлений. Она отфильтровывает уведомления и приложения с учётом того, на чём пользователь хочет сосредоточиться в данный момент. Вы можете настроить расписание доставки уведомлений, которое позволит вам получать сводку только в определенное время в течение дня.

Однако некоторые уведомления могут отображаться и с включенной функцией “Фокусирование”. Например, во время работы вам могут понадобиться уведомления от Slack или приложения “Календарь”. Кроме того, будут появляться уведомления, чувствительные ко времени, потому что им может потребоваться срочное взаимодействие.

Apple заявляет, что уведомления не отображаются при активной функции “Фокусирование”, хотя они по-прежнему будут доступны на устройстве.

Пример сводки уведомлений и визуальный редизайн уведомлений в iOS 15

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

Вы можете указать уровень приоритета для этих уведомлений:

  • Пассивный (Passive): некритичная информация (рекомендация ресторана).
  • Активный (Active): (по умолчанию): информация, которую можно оценить, зная, когда она поступит (обновление результатов матча вашей любимой спортивной команды)
  • Зависит от времени (Time sensitive): информация, которая напрямую влияет на пользователя и требует немедленного внимания (доставка посылки).
  • Критичный (Critical): срочная информация о здоровье или общественной безопасности. Это крайне редкие уведомления, для которых требуется специальное разрешение.

Пассивные и активные уведомления не будут отображаться c включенной функцией “Фокусирование” и не будут изменять настройки звука. Уведомления, зависящие от времени, имеют приоритет перед функцией “Фокусирование” и расписанием получения уведомлений. Критические уведомления отменяют все настройки и воспроизводят звук при получении уведомления.

Убедитесь, что вы правильно указали типы уведомлений, чтобы завоевать доверие пользователей. Ведь они могут легко отключить все уведомления и не включить их снова. Используйте уровень приоритета зависящих от времени уведомлений только для соответствующих уведомлений и никогда не используйте его для отправки маркетинговых уведомлений.

Подоробнее об уведомлениях читайте в HIG от Apple

Перетаскивание

До iOS 15 вы могли перетаскивать текст, изображения, файлы и т. д. между приложениями только на iPad. Функциональность была доступна на iPhone, но только в рамках одного приложения. Теперь вы можете делать это в приложениях на своем iPhone.

Пример перетаскивания на iPhone в iOS 15

Ознакомтесь с документацией для разработчиков

UISheetPresentationController (aka bottom sheets)

iOS теперь предлагает встроенную поддержку sheet controllers, которые вы можете перетаскивать для изменения размера и закрытия, аналогично тем, которые вы можете найти в приложениях «Карты» и «Акции».

Пример UISheetPresentationController в iOS 15

Документация для разработчиков

Кастомизация и изменение размеров в UIKit (WWDC Session)

SF Symbols 3

Теперь вы можете загрузить первую бета-версию SFSymbols 3, в которой представлены более 600 новых символов, улучшена настройка цвета и поддержка пользовательских символов.

Пример 4 цветовых режимов

Теперь вы можете раскрасить свои иконки 4 новыми способами:

  • Монохромный (Monochrome): 1 оттенок
  • Иерархический (Hierarchical): 1 оттенок с разной степенью непрозрачности.
  • Палитра (Palette): позволяет указать несколько цветов.
  • Многоцветный (Multicolor): фиксированные цвета, которые нельзя изменить.

Пример иерархической тонированной иконки:

// Using a hierarchical color symbol
let configuration = UIImage.SymbolConfiguration(
    hierarchicalColor: UIColor.systemOrange
)

let image = UIImage(
    systemName: "sun.max.circle.fill",
    withConfiguration: configuration
)
Увійти у повноекранний режим Вихід із повноекранного режиму

Скачать SF Symbols 3

Скачать новейшие шрифты SF

Доработки UIKit

Вы можете узнать больше в разделе «Что нового в UIKit».

UIToolbar и UITabBar

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

Новый стиль будет поддерживаться "из коробки", но он может вызвать проблемы, если вы отключили полупрозрачность или использовали нестандартные edgesForExtendedLayout.

// If you use any of these settings, the new iOS 15 layout might not be displayed correctly
bar.isTranslucent = false
viewController.edgesForExtendedLayout = .top
Увійти у повноекранний режим Вихід із повноекранного режиму

Если вам не нужен новый внешний вид по умолчанию, вы можете создать собственный scrollEdgeAppearance.

// Custom scrollEdgeAppearance
let appearance = UITabBarAppearance()
appearance.backgroundEffect = nil
appearance.backgroundColor = .blue

tabBar.scrollEdgeAppearance = appearance
Увійти у повноекранний режим Вихід із повноекранного режиму

Новый внешний вид iOS 15 для UIToolbar и UITabBar

В UITabBar теперь есть расширенная поддержка символов SF, поэтому вы можете использовать любой из 3100+ символов на панели вкладок.

Заголовки списка (List headers)

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

Вы также можете использовать стиль .grouped, чтобы добиться другого внешнего вида, похожего на приложение «Настройки».

Новыми являются стили списков .prominentInsetGrouped и .extraProminentInsetGrouped. Они будут отображать более крупный заголовок, если вам нужна дополнительная иерархия.

Существующие и новые стили заголовков списка

UIDatePicker

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

Обновленный UIDatePicker

UIButton

С iOS 15 UIButton получит новые стили помимо простого (plain). Теперь есть серый (gray), тонированный (tinted) и с заливкой (filled) стили, которые можно легко настроить с помощью UIButton Configuration.

Конфигурация стилей UIButton

Теперь кнопки также впервые поддерживают многострочный текст и будут иметь автоматическую поддержку функции Dynamic type (Динамический шрифт).

Вот как вы можете настроить новые стили кнопок:

// Creating a button with UIButton.Configuration

var config = UIButton.Configuration.tinted()

config.title = "Add to Calendar"
config.subtitle = "Work"
config.image = UIImage(systemName: "calendar.badge.plus")
config.imagePlacement = .leading
config.imagePadding = 16
config.buttonSize = .large
config.cornerStyle = .dynamic
config.baseBackgroundColor = .systemBlue
config.baseForegroundColor = .systemIndigo     

self.addToCalendarButton = UIButton(configuration: config)
Увійти у повноекранний режим Вихід із повноекранного режиму

Эта кнопка будет выглядеть примерно так:

Подробно ознакомьтесь с сессией «Знакомство с системой кнопок UIKit»

UIMenu

UIMenu был представлен в iOS 14 и теперь поддерживает сворачиваемые подменю. Он будет автоматически поддерживаться iOS 15, поэтому вам не нужно вносить никаких дополнительных изменений. В iOS 14 он заменил бы меню новым меню, теперь оно будет наложено поверх текущего меню.

Анимация подменю в iOS 15

Пример подменю в iOS 15

Ограничения категории размера контента

С помощью Dynamic Type вы можете изменять размер текста и другого контента в зависимости от предпочтений пользователя. В iOS 15 теперь вы можете ограничить нижний или верхний предел, чтобы ваш контент по-прежнему выглядел отлично при изменении размера.

extension UIView {
    var minimumContentSizeCategory: UIContentSizeCategory
    var maximumContentSizeCategory: UIContentSizeCategory
}
Увійти у повноекранний режим Вихід із повноекранного режиму

Не используйте это для ограничения Dynamic Type, а только для определенных элементов интерфейса, которые должны иметь минимальный или максимальный размер, чтобы по-прежнему хорошо отображаться. Убедитесь в читабельности для всех пользователей в зависимости от их предпочтений по размеру текста.

Улучшения UIColor

Системные цвета теперь унифицированы для всех платформ Apple, поэтому вы можете увидеть ряд изменений и дополнительные цвета, которые теперь также доступны в UIKit.

Dynamic Tint Color

Теперь вы можете использовать новый UIColor.tintColor, который даст вам текущий цвет оттенка. Это может быть отличным способом подобрать цвет кнопки к оттенку остальных элементов на экране.

Pasteboard Data Detectors

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

Сообщение вставки скопированного контента в iOS 14

Также появился новый API для предоставления новых стандартных пунктов меню вставки:

  • Вставить (Paste)
  • Вставить и перейти (Paste and Go)
  • Вставить и найти (Paste and Search)
  • Вставить и сопоставить стиль (Paste and Match Style)

Pasteboard Data Detector API, представленный в iOS 14, теперь улучшен для обнаружения еще большего числа типов данных, поэтому вашему приложению не требуется доступ к содержимому буфера обмена, если его содержимое не соответствует требуемому типу данных. Новые типы данных включают:

  • URL-адрес
  • Телефонный номер
  • Адрес электронной почты
  • Адрес
  • Событие календаря
  • Трек-номер посылки
  • Номер рейса
  • Сумма денег

Продолжение следует

Оригинал статьи будет дополняться, чтобы включить больше функций, API и изменений, которые станут доступны в iOS 15.

Вы можете ожидать обновления SharePlay, Safari 15, виджетов, SwiftUI, специальных возможностей, экранного времени, быстрой заметки и т. д.

Несколько сессий WWDC, посвященных дизайну, которые стоит посмотреть на этой неделе:


Перевод статьи blog.prototypr.io

Топ коментарі (0)