ADNavigationBarExtension 2.1.0

ADNavigationBarExtension 2.1.0

CI FabernovelClaire Peyron 维护。



  • Fabernovel Technologies

ADNavigationBarExtension 是一个使用 Swift 编写的 UI 库。它允许您显示和隐藏 UINavigationBar 的扩展

Platform Swift5 CocoaPods License


特性

使用 ExtensibleNavigationBarNavigationController 来在您的 UINavigationBar 下设置一个扩展

  • 导航控制器管理着您的导航栏扩展的显示
  • 它与 UIAppearance 兼容

查看提供的示例以获取帮助,或者直接进行询问。



要求

ADNavigationBarExtension 使用 Swift 5.0 编写。兼容 iOS 10.0+

安装

ADNavigationBarExtension 通过 CocoaPods 可用。要安装它,只需将以下行添加到您的 Podfile 中

Cocoapods

pod 'ADNavigationBarExtension'

使用方法

设置

该库的主要组件是 ExtensibleNavigationBarNavigationController。它基本上是一个简单的 UINavigationController,用于管理在 UINavigationBar 下方的辅助视图。

启动顺序可能如下所示

let navigationController = ExtensibleNavigationBarNavigationController()
let navigationBarExtension = MyCustomView()
let navigationBarExtensionHeight = 64
navigationController.setNavigationBarExtensionView(navigationBarExtension, forHeight: navigationBarExtensionHeight)
navigationController.pushViewController(MyViewController(), animated: false)
window.rootViewController = navigationController

然后,ExtensibleNavigationBarNavigationController 需要知道何时显示或隐藏导航栏的扩展。您必须使用协议 ExtensibleNavigationBarInformationProvider

extension MyViewController: ExtensibleNavigationBarInformationProvider {
    var shouldExtendNavigationBar: Bool { return true }
}

警告

请注意,ExtensibleNavigationBarNavigationController 使用了 UINavigationControllerDelegate 协议。因此,如果您还需要使用 navigationController 的代理属性,可以使用此方法

let navigationController = ExtensibleNavigationBarNavigationController()
navigationController.navigationControllerDelegate = self

在 iOS 12 中存在一个问题,无法从 UINavigationBar.appearance() 方法中获取 isTranslucent 属性。因此,如果您需要设置您的 UINavigationBar 透明,可以使用此方法

ExtensibleNavigationBarNavigationController.ad_isTranslucent = true

鸣谢

ADNavigationBarExtension 由 Fabernovel 拥有和维护。您可以在 Twitter 上关注我们:@FabernovelApp

许可

ADNavigationBarExtension 依照 MIT 许可发布。有关详细信息,请参阅LICENSE