Latest 1.0.4
Homepage https://github.com/PatrickChow/NightDriver
License MIT
Platforms ios 8.0

CocoaPods Compatible

适用于Swift的夜间模式解决方案

  • [x] 易于集成且高性能
  • [x] 提供UIKit和CoreAnimation的支持
  • [x] 链式语法

    演示

集成

CocoaPods

pod 'NightDriver'

手动

运行NightDriver(NightDriver.xcodeproj)项目,设置自己需要的类型,然后Build得到Framework。

使用指南

如何让NightDriver正确的开始运作?

NightDriver只管理2种模式的切换,它不关心一开始是那种模式,所以,在项目的开始,我们需要手动的设置。
这主要考虑到一些项目可能已经开始有标识两种模式的字段,所以内部不会有这样的逻辑。
最好这样:

application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
      NightDriver.default.isNight = true or false
      ...
      ...
}

如何使用NightDriver?

NightDriver使用起来非常简单,支持所有UIView和它的子类、UIBarItem和它的子类以及CALayer,之后会支持其他需要支持的类。
通过 . 可以获取到nv,之后就可以通过提示查看它所支持的属性,或者直接到源码中查看。
比如设置一个view的背景:

view.nv?.backgroundColor(UIColor.white, night: UIColor.black)

UILabel中设置属性字符attributedText可以使用:

textLabel.nv?.attributesText(mutableAttributedString)

而组装所需要的NSAttributedString时,为其中的key: NSForegroundColorAttributeName ,目前提供了这样的设置方式:

PropertyBox(day: UIColor.white, night: UIColor.black)

在有多个属性需要设置时,可以这样:

textLabel.nv?.backgroundColor(UIColor.white, night: UIColor.black).attributesText(mutableAttributedString)

需要注意的是,在CALayer中设置它的几个渲染属性,需要使用UIColor。

layer.nv?.set(borderColor: UIColor.white, night: UIColor.black)

如何切换模式?

在合适的时机调用switchVersion 即可

NightDriver.default.switchVersion()

运行示例

build 成功 NightDriver 项目后,运行 Sample,如果遇到错误信息:

dyld: Library not loaded: 
...
...

请在Sample->General->Embedded Binaries 中添加 NightDriver.frameworks

联系我

欢迎提出你们的意见!
email: [email protected]

qq: 254335290

Latest podspec

{
    "name": "NightDriver",
    "version": "1.0.4",
    "summary": "Elegant way to integrate night mode to swift projects",
    "description": "NightDriver make it easy to switch from light to dark or in reverse",
    "homepage": "https://github.com/PatrickChow/NightDriver",
    "license": "MIT",
    "authors": "PatrickChow",
    "platforms": {
        "ios": "8.0"
    },
    "source": {
        "git": "https://github.com/PatrickChow/NightDriver.git",
        "tag": "1.0.4"
    },
    "source_files": [
        "NightDriver/Source/*.swift",
        "NightDriver/Source/QuartzCore/*.swift",
        "NightDriver/Source/UIKit/*.swift"
    ],
    "exclude_files": "NightDriver/Exclude",
    "pushed_with_swift_version": "3.0"
}

Pin It on Pinterest

Share This