NightNight使得集成夜间模式变得简单。它提供多个API,所有API都包含关键字mixed。
如果您想在Objective-C项目中实现夜间模式且不导入Swift代码,这是Objective-C版本DKNightVersion。
let view = UIView()
view.mixedBackgroundColor = MixedColor(normal: 0xffffff, night: 0x000000)
let imageView = UIImageView()
imageView.mixedImage = MixedImage(normal: UIImage(named: "normal"), night: UIImage(named: "night"))
特性
- 轻松集成夜间模式
- 支持UIColor和UIImage
- 支持NSAttributedString
- 更好的自动完成
- 通过通知进行自定义
用法
-
使用
MixedColor
代替UIColor
let view = UIView() view.mixedBackgroundColor = MixedColor(normal: 0xffffff, night: 0x000000)
-
使用
MixedImage
代替UIImage
let imageView = UIImageView() imageView.mixedImage = MixedImage(normal: normal, night: night)
-
支持
NSAttributedString
let attributedString = NSMutableAttributedString(string: "NightNight") attributedString.setMixedAttributes( [NNForegroundColorAttributeName: MixedColor(normal: 0x000000, night: 0xfafafa)], range: NSRange(location: 0, length: 9) ) public let NNForegroundColorAttributeName public let NNBackgroundColorAttributeName public let NNUnderlineColorAttributeName
-
NavigationBar
的barStylelet navigationBar = navigationController?.navigationBar navigationBar.mixedBarStyle = MixedBarStyle(normal: .Default, night: .Black)
-
将当前主题更改为
.NORMAL
或.NIGHT
NightNight.theme = .NORMAL NightNight.theme = .NIGHT
自定义
NightNight将发送NightNightThemeChangeNotification
。如果您想实现一些自定义功能,可以观察它并在相应的选择器中更改所需的内容。
public let NightNightThemeChangeNotification
示例
安装
Carthage
Carthage 是一个去中心化的依赖关系管理器,可自动化添加框架到您的 Cocoa 应用程序的过程。
您可以使用以下命令使用 Homebrew 安装 Carthage:
$ brew update
$ brew install carthage
要使用 Carthage 将 NightNight 集成到您的 Xcode 项目中,请在您的 Cartfile
中指定它
github "draveness/NightNight"
Cocoapods
CocoaPods 是 Cocoa 项目的依赖关系管理器。
您可以使用以下命令安装它:
$ gem install cocoapods
要使用 Cocoapods 将 NightNight 集成到您的 Xcode 项目中,请在您的 Podfile
中指定它
use_frameworks!
pod 'NightNight'
手动安装
- 下载并将
NightNight/Classes
文件夹拖放到您的项目。 - 恭喜您!
许可协议
版权所有 (c) 2016 Draveness(《http://github.com/draveness》)
NightNight 根据 MIT 许可协议提供。有关更多信息,请参阅 LICENSE 文件。
特此授予任何人无附加费用获得本软件及其相关文档文件(统称“软件”)的复制权,允许在不加限制的情况下处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件拷贝,并允许向软件提供者授予此类权利,但须遵守以下条件:
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“现状”提供,不提供任何形式的保证,无论是明示还是暗示,包括但不限于适销性、适用于特定目的和不侵权的保证。在任何情况下,作者或版权持有人不对任何索赔、损害或其他责任承担责任,无论这种责任是出于合同、侵权还是其他原因,无论与软件或软件的使用或其他处分有关或无关。