一种使 UIProgressView 附加到 UINavigationController 顶部的简单方法。
import NavigationProgress
NavigationProgress.setup()
startNavigationProgress(with: NavigationProgress(totalPages: 3))
.oneTime (一次性) | .always (总是) | |
---|---|---|
push (推进) | ![]() |
![]() |
present fullscreen (全屏显示) | ![]() |
![]() |
present overCurrentContext (在当前上下文之上显示) | ![]() |
![]() |
Swift Package Manager 是一种用于自动化 Swift 代码分发的工具,并已集成到 swift
编译器中。
设置好 Swift 包后,将 NavigationProgress 添加为依赖项就像将其添加到 Package.swift
的 dependencies
值一样简单。
dependencies: [
.package(url: "https://github.com/chrisnyw/NavigationProgress", from: "0.2")
]
需要在时导入 NavigationProgress
。
import NavigationProgress
在您的应用程序启动时调用 setup()
以启用 swizzleHelper,使 NavigationProgress 正常工作。
NavigationProgress.setup()
确保您的 UIViewController
在 UINavigationController
下,并在您当前的 viewController
类中调用 startNavigationProgress(with:)
。 一旦您调用 startNavigationProgress()
,它会将您当前的页面视为第一页,并且 NavigationProgress 将会显示。 同时,当您返回到上一页时,NavigationProgress 将从您的 navigationController 中移除。
startNavigationProgress(with: NavigationProgress(totalPages: 3))
从您的 navigationController 中强制移除现有的 NavigationProgress。
removeNavigationProgress()
totalPages
是对象 NavigationProgress
唯一必须的属性。
NavigationProgress(totalPages: 3)
或者您可以通过传递所有值来配置 NavigationProgress。
NavigationProgress(totalPages: 3,
progressType: .oneTime, // default .oneTime
progressTintColor: .orange, // default .orange
trackTintColor: .gray, // default .gray
animationDuration: 0.3) // default 0.3
调整总页数,用于计算 progressBarView 的总值。
navigationProgress.totalPages = 3
设置 NavigationProgress
进度类型,仅显示 oneTime
(一次性) 或 always
(总是)。
NavigationProgress 将在经过 totalPages 后被移除。
NavigationProgress 将在经过 totalPages 后不会被移除。 因此,当您返回到 totalPages 之前的页面时,NavigationProgress 将再次显示。
public enum ProgressType {
case oneTime
case always
}
调整进度条已填充部分的颜色。
navigationProgress.progressTintColor = .orange
调整进度条未填充部分的颜色。
navigationProgress.trackTintColor = .gray
调整添加或移除 NavigationProgress 时,显示/隐藏 NavigationProgress 的动画持续时间。
navigationProgress.animationDuration = 0.3
Chris Ng (chrisnyw@gmail.com)
NavigationProgress 在 MIT 许可下可用。 更多信息请参阅 LICENSE 文件。