Bartinter
状态栏外观管理器,通过动态改变颜色来使状态栏内容可读。
安装
将
pod 'Bartinter'
添加到您的 Podfile 中,并运行
pod install
使用方法
在 Info.plist 中将 "基于视图控制器状态栏外观" (UIViewControllerBasedStatusBarAppearance) 设置为 YES。设置 ViewController 的 updatesStatusBarAppearanceAutomatically = true
就这样。
Swizzling
默认情况下,bartinter 为您的方便进行了几个方法的 swizzling。(请参阅:UIKitSwizzling.swift
)。如果您不接受方法 swizzling,可以通过以下命令禁用它
Bartinter.isSwizzlingEnabled = false
在没有 swizzling 的情况下,您需要手动做一些事情
首先,您需要在 ViewController 子类中提供 childViewControllerForStatusBarStyle
,只需添加以下内容
override var childViewControllerForStatusBarStyle: UIViewController? {
return statusBarUpdater
}
其次,您需要决定何时需要刷新状态栏样式,例如在 tableView 滚动时,因此添加
func scrollViewDidScroll(_ scrollView: UIScrollView) {
statusBarUpdater?.refreshStatusBarStyle()
}