EasyDarkMode 4.0.1

EasyDarkMode 4.0.1

Hanping Xu 维护。




EasyDarkMode

version license platform Swfit Objective-C

简介

iOS 13 引入了用户界面特性。此功能包含两种用户界面类型,浅色和深色。

此项目是一个开发者工具,可轻松适应 iOS 13 中的用户界面特性。

如果喜欢,请 Star

示例

video

light

dark

CocoaPods 集成

使用此工具查找您项目中的 Podfile 脚本。

首先,根据您的项目使用的语言选择(Swift / Objective-C)。

其次,根据您是否使用网络图片选择(本地图片 / 其他)。

然后,如果您使用网络图片,请选择您偏好的下载方法(SDWebImage/Kingfisher/自定义下载方式)。

Podfile 脚本 Objective-C Swift 本地图片 SDWebImage Kingfisher 自定义下载
pod 'EasyDarkMode'pod 'EasyDarkMode/Core'
pod 'EasyDarkMode/Core-Swift'
pod 'EasyDarkMode/SDWebImage'
pod 'EasyDarkMode/SDWebImage+Swift'
pod 'EasyDarkMode/Kingfisher'
pod 'EasyDarkMode/Remote'
pod 'EasyDarkMode/Remote-Swift'

如何使用

以不同用户界面创建颜色

  • Swift

包含在 pod 'EasyDarkMode/Core-Swift'

import EasyDarkMode

view.backgroundColor = UIColor.dm.color(white:UIColor.black , dark: UIColor.white)
  • Objective-C

包含在 pod 'EasyDarkMode/Core'

#import <EasyDarkMode/EasyDarkMode.h>

view.backgroundColor = [UIColor dm_colorWithColorLight:UIColor.grayColor dark:UIColor.whiteColor];

以不同用户界面从本地创建图像

  • Swift

包含在 pod 'EasyDarkMode/Core-Swift'

import EasyDarkMode

imageView.image = UIImage.dm.image(name: "check_light", dark: "check_dark")
  • Objective-C

包含在 pod 'EasyDarkMode/Core'

#import <EasyDarkMode/EasyDarkMode.h>

imageView.image = [UIImage dm_imageWithNameLight:@"check_light" dark:@""check_dark""];

以不同用户界面从 SDWebImage 创建图像

  • Swift

包含在 pod 'EasyDarkMode/SDWebImage+Swift'

import EasyDarkMode
// You should config downloder once before start to download images.
DMDownloadManager.shared.connectWithSdWebImage()
// ...
item.dm.setImage(pathString: "http://img.mp.itc.cn/upload/20160525/73e975795bf94f82baf43315f89a30b1_th.jpg", dark: "http://img.mp.itc.cn/upload/20160525/5d6588b3c928495a9ee0eb2b0b672936_th.jpg", for: UIControl.State.normal)
  • Objective-C

包含在 pod 'EasyDarkMode/SDWebImage'

#import <EasyDarkMode/EasyDrakMode.h>
// You should config downloder once before start to download images.
[DMDownloadManager.shared connectWithSdWebImage];
// ...
[button dm_setImagePathStringLight:@"http://img.mp.itc.cn/upload/20160525/73e975795bf94f82baf43315f89a30b1_th.jpg" dark:@"http://img.mp.itc.cn/upload/20160525/5d6588b3c928495a9ee0eb2b0b672936_th.jpg" forState:UIControlStateNnormal];

以不同用户界面从 Kingfisher 创建图像

  • Swift

包含在 pod 'EasyDarkMode/Kingfisher'

import EasyDarkMode
// You should config downloder once before start to download images.
DMDownloadManager.shared.connectWithKingfisher()
// ...
item.dm.setImage(pathString: "http://img.mp.itc.cn/upload/20160525/73e975795bf94f82baf43315f89a30b1_th.jpg", dark: "http://img.mp.itc.cn/upload/20160525/5d6588b3c928495a9ee0eb2b0b672936_th.jpg", for: UIControl.State.normal)

使用不同用户界面类型从自定义下载方法创建图像

  • Swift

包含在pod 'EasyDarkMode/Remote-Swift'

import EasyDarkMode
// You should config downloder once before start to download images.
DMDownloadManager.shared.downloader = { (url, completion) in
    // ...
}
// ...
item.dm.setImage(pathString: "http://img.mp.itc.cn/upload/20160525/73e975795bf94f82baf43315f89a30b1_th.jpg", dark: "http://img.mp.itc.cn/upload/20160525/5d6588b3c928495a9ee0eb2b0b672936_th.jpg", for: UIControl.State.normal)
  • Objective-C

包含在pod 'EasyDarkMode/Remote'

#import <EasyDarkMode/EasyDrakMode.h>
// You should config downloder once before start to download images.
DMDownloadManager.shared.downloader = ^(NSURL * _Nonnull data, DMDownloadHandler  _Nonnull completion) {
    // ...
}
// ...
[button dm_setImagePathStringLight:@"http://img.mp.itc.cn/upload/20160525/73e975795bf94f82baf43315f89a30b1_th.jpg" dark:@"http://img.mp.itc.cn/upload/20160525/5d6588b3c928495a9ee0eb2b0b672936_th.jpg" forState:UIControlStateNnormal];

特性

  • 创建不同用户界面类型UIColor的快捷方法。

  • 创建不同用户界面类型UIImage的快捷方法。

  • 用Objective-C编写。所有功能都以现代API在Swift中可用。

  • 下载远程图像的快捷方法,使用SDWebImage和Kingfisher,并创建不同用户界面类型的UIImage。

  • 此代码可在Xcode 9到Xcode 11上运行。

  • 支持从iOS 8到iOS 13的各种部署目标版本。

  • 我们发现启用xcassets中的外观图像集会导致应用程序启动时出现明显滞后。如果您正在使用大型应用程序,手动将图像组合到单个UIImage对象中的某些方法变通是必要的。

待办事项

[●] 支持UIImage/UIColor

[●] 支持SDWebImage

[●] 支持KingFisher。

[○] 找出支持NSTextAttachment在NSAttributedString中的方法。

[○] 找出支持web图像在NSTextAttachment中的方法。