Темная тема ios

Известно, что с выходом iOS 13, владельцы iPhone 6S, SE и более новых моделей получили возможность активировать тёмную тему оформления интерфейса ПО своих девайсов. Но что же делать пользователям смартфонов Apple, которые не имеют возможности обновиться на свежую версию «яблочной» операционки, но при этом желают использовать все преимущества тёмного исполнения интерфейса программной платформы и функционирующего в её среде софта? Давайте разберёмся.

Как активировать тёмное оформление интерфейса iOS 12

Возможно, не все пользователи знают, что появление «чёрной темы» в прямом понимании, несмотря на все ожидания пользователей и прогнозы экспертов, так и не было реализовано разработчиками в двенадцатой версии операционки смартфонов Apple. Тем не менее окрасить в тёмные тона элементы интерфейса iOS 12 и/или отдельного софта для этой среды реально, причём для решения задачи существует два подхода.

Способ 1: Смарт-инверсия

В настройках универсального доступа iOS 12 предусмотрена опция, позволяющая довольно эффективно «перекрасить» отдельные элементы интерфейса функционирующего на iPhone ПО в черный цвет, практически не нарушая при этом «правильности» демонстрируемой на экране картинки. Называется эта возможность «Смарт-инверсия», а работает она так:

  1. Перейдите в «Настройки» iPhone, пролистните список разделов параметров и тапните «Основные».
  2. Откройте раздел «Универсальный доступ» и затем коснитесь пункта «Адаптация дисплея».
  3. Теперь нажмите «Инверсия цвета», что приведёт к открытию экрана, где можно активировать целевую опцию. Коснитесь переключателя справа от наименования «Смарт-инверсия», переведя его таким образом в положение «Включено». После выполнения указанной манипуляции интерфейс айОС мгновенно преобразуется в нужном нам направлении.
  4. На этом всё – выйдите из «Настроек» и оцените полученный результат.

Способ 2: Настройки программ

Взамен включения вышеописанной опции «Смарт-инверсия», преобразующей весь интерфейс системного ПО айФона, вы можете активировать тёмную тему лишь в некоторых отдельных программах. Это предусмотрено или планируется к внедрению разработчиками многих популярных iOS-приложений и включается в их настройках (Twitter, ВКонтакте, Viber, Telegram, Wikipedia и др.).

Алгоритм действий, предполагающих активацию тёмного режима в отдельном приложении для iPhone (на примере YouTube), уже рассматривался на нашем сайте – ознакомьтесь с инструкцией по следующей ссылке, и пробуйте действовать по аналогии в другом используемом вами ПО.

Подробнее: Как активировать тёмную тему в YouTube для iOS

Как видите, интерфейсу iOS 12 и функционирующего в её среде софта возможно очень быстро придать тёмное оформление, ничего сложного в процедуре нет. Конечно, получаемый эффект не такой впечатляющий, как в случае с новым вариантом ОС для iPhone, но в целом вполне удовлетворителен.

Мы рады, что смогли помочь Вам в решении проблемы.
Добавьте сайт Lumpics.ru в закладки и мы еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.

Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

Помогла ли вам эта статья?

Всем привет!
Меня зовут Андрей, я из команды «Мой Брокер». Я рассĸажу Вам ĸаĸ добавлял поддержĸу темной темы в iOS.
Apple в iOS 13 добавила темную тему для всей системы, пользователи могут выбрать светлое или темное оформление на настройках iOS. В темном режиме система использует более темную цветовую палитру для всех экранов, видов, меню и элементов управления.

Кому интересно — заходите под кат.

Поддержка темного оформления

Приложение созданное в Xcode 11 по-умолчанию поддерживает темное оформление в iOS 13. Но для полноценной реализации темного режима, необходимо внести дополнительные правки:

  • Цвета должны поддерживать светлое и темное оформление
  • Изображения должны поддерживать светлое и темное оформление

Apple добавила несколько системных цветов, которые поддерживают светлое и темное оформление.
В iOS 13 был представлен новый инициализатор UIColor:
init (dynamicProvider: @escaping (UITraitCollection) -> UIColor)
Добавим статическую функцию для создания цвета с поддержкой переключения между светлым и темным оформлением:
extension UIColor { static func color(light: UIColor, dark: UIColor) -> UIColor { if #available(iOS 13, *) { return UIColor.init { traitCollection in return traitCollection.userInterfaceStyle == .dark ? dark : light } } else { return light } } }
CGColor не поддерживает автоматическое переключение между светлым и темным оформлением. 
Необходимо вручную менять CGColor после изменения оформления.
override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) { super.traitCollectionDidChange(previousTraitCollection) layer.borderColor = UIColor.Pallete.black.cgColor }
Так же есть возможность добавить цвет для темного оформления в ресурсах.

Но я предпочитаю добавлять цвета в коде.
UIColor.Pallete extension UIColor { struct Pallete { static let white = UIColor.color(light: .white, dark: .black) static let black = UIColor.color(light: .black, dark: .white) static let background = UIColor.color(light: .white, dark: .hex(«1b1b1d»)) static let secondaryBackground = UIColor(named: «secondaryBackground») ?? .black static let gray = UIColor.color(light: .lightGray, dark: .hex(«8e8e92»)) } }
Для изображений достаточно добавить вариант изображения для темного оформления прям в ресурсах.

Сделаем небольшое приложение для примера.

Приложение будет содержать два окна и три экрана.

Первое окно: экран авторизации.
Второе окно: экран ленты и экран профиля пользователя.
Скриншоты в светлом и темном оформлении

Переключение светлой и темной темы

Создаем enum для темы:

enum Theme: Int, CaseIterable { case light = 0 case dark }
Добавляем возможность хранения текущей темы, чтобы восстановить её после перезапуска приложения.
extension Theme { // Обертка для UserDefaults @Persist(key: «app_theme», defaultValue: Theme.light.rawValue) private static var appTheme: Int // Сохранение темы в UserDefaults func save() { Theme.appTheme = self.rawValue } // Текущая тема приложения static var current: Theme { Theme(rawValue: appTheme) ?? .light } }
Persist @propertyWrapper struct Persist<T> { let key: String let defaultValue: T var wrappedValue: T { get { UserDefaults.standard.object(forKey: key) as? T ?? defaultValue } set { UserDefaults.standard.set(newValue, forKey: key) } } init(key: String, defaultValue: T) { self.key = key self.defaultValue = defaultValue } }
Чтобы принудительно установить оформление нужно изменить стиль всех окон приложения.

Реализуем переключение темы в приложении.

extension Theme { @available(iOS 13.0, *) var userInterfaceStyle: UIUserInterfaceStyle { switch self { case .light: return .light case .dark: return .dark } } func setActive() { // Сохраняем активную тему save() guard #available(iOS 13.0, *) else { return } // Устанавливаем активную тему для всех окон приложения UIApplication.shared.windows .forEach { $0.overrideUserInterfaceStyle = userInterfaceStyle } } }
Так же необходимо менять стиль окна на текущую тему перед показом окна.
extension UIWindow { // Устанавливаем текущую тему для окна // Необходимо вызывать перед показом окна func initTheme() { guard #available(iOS 13.0, *) else { return } overrideUserInterfaceStyle = Theme.current.userInterfaceStyle } }
Скриншоты выбора светлой или темной темы

Добавляем переключение на системной тему

Добавляем системную тему в enum темы.
enum Theme: Int, CaseIterable { case system = 0 case light case dark }
После принудительной установки светлой или темной темы, нельзя определить какое оформление включено в системе. Чтобы узнавать системное оформление добавляем окно в приложение, у которого не будем принудительно менять оформление. Так же необходимо реализовать изменение оформления, когда в приложении установлена системная тема и пользователь меняет оформление в iOS.
final class ThemeWindow: UIWindow { override public func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) { // Если текущая тема системная и поменяли оформление в iOS, опять меняем тему на системную. // Например: Пользователь поменял светлое оформление на темное. if Theme.current == .system { Theme.system.setActive() } } } let themeWindow = ThemeWindow() class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: ?) -> Bool { … // Добавляем окно к приложению, но не показываем его // Необходимо вызывать до установки главного окна приложения themeWindow.makeKey() … return true } } extension Theme { @available(iOS 13.0, *) var userInterfaceStyle: UIUserInterfaceStyle { switch self { case .light: return .light case .dark: return .dark case .system: return themeWindow.traitCollection.userInterfaceStyle } } func setActive() { // Сохраняем активную тему save() guard #available(iOS 13.0, *) else { return } // Устанавливаем активную тему для всех окон приложения // Не красим это окно чтобы узнавать системную тему UIApplication.shared.windows .filter { $0 != themeWindow } .forEach { $0.overrideUserInterfaceStyle = userInterfaceStyle } } }

Скриншоты выбора системной, светлой или темной темы

Результат

Поддержка темного оформления и переключение между системной, светлой и темной темой.
Скринвидео

Несмотря на то что проектирование ночной темы для iOS велось еще несколько лет назад, ее дебют состоялся только с выходом первой бета-версии iOS 13. Но такая задержка была более чем оправдана, ведь Apple проделала колоссальную работу, не просто перекрасив интерфейс операционной системы в черный цвет, а по-настоящему адаптировала его в соответствии с требованиями темной цветовой гаммы. Что получилось в итоге – читайте и смотрите под катом.

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

Как настроить ночную тему в iOS

При желании можно настроить автоматическую активацию ночной темы по принципу режима Night Shift. Задайте временной интервал в настройках и наслаждайтесь ночной темой в темное время суток. Таким образом снижается нагрузка на глаза, а также уменьшается воздействие синего света на сетчатку с последующим препятствованием выработке гормона мелатонина, отвечающего за сон.

Приложения с ночной темой для iOS

Apple Maps

Apple News

Телефон

Напоминания

Apple Music

Подкасты

Сообщения

App Store

Календарь

Заметки

Ночная тема в iOS 13 может считаться действительно масштабным нововведением. Apple адаптировала для нее все штатные приложения, клавиатуру и даже App Store. Теперь ваши глаза скажут вам спасибо. Правда, ночная тема пока работает не на 100%.

Например, приложение Apple News для iOS научился затемнять содержимое далеко не всех статей. Возможно, такая возможность появится в будущем, ведь сейчас перед нами только первая бета-версия для разработчиков, которая не предназначена для публичного использования.

Компания Apple в 2019 году выпустила обновление iOS 13 для iPhone, которое, помимо прочего, добавило в операционную систему темную тему. Поклонники мобильных устройств Apple давно ждали этого обновления, и теперь темная тема доступна всем устройствам, обновленным до iOS 13.

Оглавление: 1. На каких устройствах доступна темная тема в iOS 13 2. Как включить темную тему в iOS 13 на iPhone 3. Что нужно знать о темной теме на iPhone

На каких устройствах доступна темная тема в iOS 13

Обновление до iOS 13 получили следующие модели iPhone:

  • iPhone SE
  • iPhone 6s/6s Plus
  • iPhone 7/7 Plus
  • iPhone 8/8 Plus
  • iPhone X
  • iPhone Xs/Xs Max
  • iPhone Xr
  • iPhone 11/11 Pro/11 Pro Max

Все устройства, которые имеют возможность обновиться на iOS 13, получили темную тему.

Как включить темную тему в iOS 13 на iPhone

Чтобы включить темную тему на iPhone, первым делом следует убедиться, что установлена версия операционной системы iOS 13 или выше. Для этого зайдите в «Настройки” и перейдите в раздел «Основные”.

Далее перейдите в раздел «Об этом устройстве”.

Здесь будет представлена техническая информация об устройстве. В пункте «Версия ПО” будет указано, какая версия установлена на iPhone. Чтобы включить темную тему, должна быть установлена iOS 13 или выше.

Чтобы активировать темную тему, зайдите в «Настройки” и перейдите в раздел «Экран и яркость”.

Здесь первый пункт — «Оформление”, в нем можно выбрать, какую тему вы хотите использовать — светлую или темную.

Обратите внимание: Можно выбрать вариант «Автоматически” и настроить время, когда будет включаться темная тема, а когда светлая.

Что нужно знать о темной теме на iPhone

Компания Apple обосновала внедрение темной темы заботой о своих пользователях. По задумкам программистов Apple, наличие темной темы позволяет:

  • Снизить нагрузку на глаза после продолжительного рабочего дня за компьютером или смартфоном;
  • Удобнее пользоваться смартфоном в ночное время при выключенном свете.

Стоит отметить, что при активации темной темы, «родные” приложения iPhone, а также некоторые другие программы, автоматически активируют темную тему. Со временем, все больше программ должны получить обновление и темную тему.

После нескольких лет ожидания темная тема наконец-то появилась на iPhone вместе с iOS 13. Публичная версия мобильной операционной системы выйдет только осенью. Однако мы советуем уже сейчас ознакомиться, как включить темный режим на вашем смартфоне.

Режим Dark Mode в iOS 13 предлагает стильную темную тему. Она работает в рамках всей операционной системы. Вы можете использовать данный режим как ночью с целью улучшения пользовательского опыта, так и на постоянной основе.

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

Как включается темная тема на iPhone

  • Откройте «Настройки»;
  • Пролистайте вниз и найдите опцию «Экран и яркость»;
  • Вверху экрана выберите опцию «Темная»;
  • С помощью переключателя выберите вариант «Автоматически», если хотите, чтобы смартфон самостоятельно переключался между светлой и темной темами.

Вы также можете быстро включать и выключать темную тему в левом нижнем углу Центра управления.

Вот как выглядит этот процесс:

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

Если применить автоматический режим, то iOS 13 будет включать ночную тему после захода солнца и выключать вместе с рассветом. Мануальная опция позволяет вам самостоятельно настроить график включения/выключения темной темы.

Быстро переключаться между светлой и темной темами также можно в Центре управления. Просто нажмите на слайдер яркости, и вы увидите в левом нижнем углу экрана переключатель между светлым и темным режимами.

Напомним, мы писали, как включить темную тему на Mac. Также советуем почитать, как отключить пароль на iPhone или iPad.