LLDark
A dark theme framework для iOS, быстро и легко адаптируется к тёмному режиму. Пользователи из материкового Китая могут получить доступ по этой ссылке.
中文介绍.
Особенности:
Демо:
Использование:
Настройте тёмные ресурсы:
Создайте метод класса + (NSDictionary<id, id> *)llDarkTheme
в любой категории NSObject проекта (рекомендуется создать отдельную категорию). Ключ словаря представляет цвет/имя изображения/адрес изображения в светлой теме, а значение словаря представляет цвет/имя изображения/адрес изображения в тёмной теме. Вы можете обратиться к примеру кода:
+ (NSDictionary<id, id> *)llDarkTheme {
return @{
UIColor.whiteColor : kColorRGB(27, 27, 27),
kColorRGB(240, 238, 245) : kColorRGB(39, 39, 39),
[UIColor colorWithRed:14.0 / 255.0 green:255.0 / 255.0 blue:0.0 alpha:1.0] : [UIColor colorWithRed:0.0 green:14.0 / 255.0 blue:255.0 / 255.0 alpha:1.0],
@"background_light" : @"background_dark",
@"~/path/background_light.png" : @"~/path/background_dark.png",
};
}
Советы:
Для UIColor и CGColor нужно только добавить .themeColor(nil). Для UIImage нужно заменить imageNamed или imageWithContentsOfFile на themeImage.
// UIColor
UIColor.redColor; // Предыдущее использование
UIColor.redColor.themeColor(nil); // Текущее использование
// CGColor
UIColor.redColor.CGColor; // Предыдущее использование
UIColor.redColor.themeCGColor(nil); // Текущее использование
// UIImage
[UIImage imageNamed:@"lightImageName"]; // Предыдущее использование
[UIImage themeImage:@"lightImageName"]; // Текущее использование
Советы:
1. Если параметр в themeColor() является конкретным объектом Color, тёмная тема обновится с указанным объектом Color.
Если он равен nil, он вернётся к обновлению тёмного цвета, настроенному в llDarkTheme,
Если llDarkTheme не настроен, то
``` **Понять конкретную реализацию.**
11. Если вам нужно поддержать адаптацию тёмного образа запуска в iOS 13 или ниже, назовите тёмное изображение в соответствии с указанными правилами и поместите его в любой каталог проекта.
*Правило именования: launchImage_<ширина экрана>_<высота экрана>*.
Например: launchImage_414_736, этот тёмный образ запуска появится после перехода в тёмный режим на моделях с шириной экрана 414×736 и системах ниже iOS 13.
Если вы хотите адаптировать горизонтальное изображение, вам нужно только поменять местами позиции ширины и высоты, например: launchImage_736_414.
Конкретный эффект можно увидеть, запустив Demo на системе ниже iOS 13 и переключившись в тёмный режим.
Для конкретного именования обратитесь к методу именования изображений в папке LaunchImage в проекте Demo. Он содержит тёмные образы запуска всех моделей ниже iOS 13 (включая горизонтальный экран, исключая модели до iPhone 6).
12. LLLaunchScreen предоставляет некоторые методы класса, разумное использование этих методов класса может идеально заменить любой образ запуска приложения, включая «тёмный вертикальный образ запуска», «тёмный горизонтальный образ запуска», «светлый вертикальный образ запуска» и «светлый горизонтальный образ запуска».
Пожалуйста, обратитесь к файлу LLLaunchScreen.h для конкретных методов.
Для метода использования, пожалуйста, обратитесь к Demo.
**Быстрая адаптация**
Это занимает всего 3 шага, чтобы быстро и идеально адаптироваться к тёмному режиму темы. После тестирования большинство проектов могут быть адаптированы в течение 0,5 дней.
1. Чтобы настроить ресурсы тёмной темы, обратитесь к разделу «Необходимые условия» или обратитесь к расширенному методу 9, чтобы получить адаптацию ресурсов из сети.
2. Адаптируйте цвет и изображение, которые необходимо адаптировать к цвету темы и изображению темы. Для метода адаптации, пожалуйста, обратитесь к разделам «Базовое использование» и «Расширенное использование».
3. Запустите проект и проверьте его полноту.
Советы:
1. Если вам всё ещё нужно адаптировать WKWebView, вы можете [нажать на ссылку](https://www.jianshu.com/p/be578117f84c). Обратитесь к статье для адаптации.
2. По умолчанию системы iOS 13 и выше автоматически адаптируют образ запуска, чтобы следовать изменениям в режиме темы приложения. Если вы хотите использовать систему ниже iOS 13, эта функция также поддерживается. Пожалуйста, обратитесь к расширенным методам 11 и 12.
**Установка**
### CocoaPods
1. Добавьте pod 'LLDark' в свой Podfile.
2. Выполните команду pod install --repo-update.
3. Импортируйте <LLDark/LLDark.h>.
### Carthage
1. Добавьте github "internetWei/LLDark" в ваш Cartfile.
2. Выполните команду carthage update --platform ios и добавьте фреймворк в свой проект.
3. Импортируйте \<LLDark/LLDark.h\>.
### Вручную
1. Загрузите все файлы в поддиректорию LLdark.
2. Добавьте (перетащите) папку LLDark в свой проект.
3. Импортируйте LLDark.h.
**Требования**
Проект поддерживает как минимум iOS 9.0 и Xcode 10.0. Если вы хотите использовать его на более низких системах, пожалуйста, свяжитесь с автором.
Примечание:
1. LLDark не изменяет стиль строки состояния, вам необходимо отслеживать режим темы, чтобы изменить стиль строки состояния.
2. Ресурсы изображений, которые должны быть адаптированы к тёмной теме, не рекомендуется размещать в Assets.xcassets. Тест показал, что изображения в NSAttributedString не будут обновляться при переключении темы (загружаются с помощью imageNamed:). Это системная ошибка. Решение состоит в том, чтобы поместить изображение в проект и загрузить его с помощью themeImage:.
3. Экземпляр объекта UIImage имеет метод imageWithRenderingMode:. Вызов этого метода приведёт к регенерации и возврату экземпляра объекта UIImage, это вызовет нормальное обновление. Вместо этого используйте метод renderingModeFrom.
Известные проблемы:
* Другие режимы тем пока не поддерживаются, и в будущем будет свободно поддерживаться множество тем.
Контакт:
Если у вас есть лучшие улучшения, пожалуйста, отправьте мне запрос на вытягивание.
Если у вас есть что-то получше... Создайте, пожалуйста, комментарий с описанием проблемы [Issue](https://github.com/internetWei/llDark/issues).
С автором можно связаться по электронной почте internetwei@foxmail.com.
Лицензия
==============
LLDark выпущена под лицензией MIT. Подробнее см. в файле LICENSE.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )