测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可 | MIT |
发布最后发布 | 2017年4月 |
SwiftSwift版本 | 3.0.1 |
SPM支持SPM | ✗ |
由 Kiran Jasvanee 维护。
使用TableView, CollectionView或ScrollView
来侦测自定义导航视图。
注意:在下述演示中,如果动画看起来有滞后感,请等待页面加载完成。滚动时它会很流畅。
要运行示例项目,先克隆仓库,然后在Example目录中运行pod install
。
KJNavigationViewAnimation可以通过CocoaPods获取。为了安装它,只需将以下行添加到您的Podfile中
pod 'KJNavigationViewAnimation', '~> 0.1.0'
KJNavigationViewAnimation将通过界面构建器使用。
在界面构建器中,将自定义导航视图 (UIView)
添加到顶部。在添加的视图的标识检查器中选择 Class
属性,并添加 KJNavigationViewAnimation
。
您需要向添加的自定义导航视图添加 Height
约束,但不需要添加任何标识。
使用以下属性来编辑默认功能。在 viewDidLoad
中添加您的设置。
// declare instance of KJNavigationViewAnimation by connecting to UIView outlet in interface builder
@IBOutlet weak var viewKJNavigation: KJNavigationViewAnimation!
override func viewDidLoad() {
super.viewDidLoad()
// For TableView
viewKJNavigation.setupFor(Tableview: yourTableView,
viewController: self)
// If you want your animation up to statusbar.
viewKJNavigation.topbarMinimumSpace = .statusBar
// If you want blurr background of navigation view.
viewKJNavigation.isBlurrBackground = true
// assign delegate of TableView, CollectionView OR ScrollView with self.
tableview.delegate = self
}
// For CollectionView
viewKJNavigation.setupFor(CollectionView: yourCollectionView,
viewController: self)
// For ScrollView
viewKJNavigation.setupFor(Scrollview: yourScrollView,
viewController: self)
// If you want your animation up to zero.
viewKJNavigation.topbarMinimumSpace = .none
// If you want your animation up to custom value assigned to topbarMinimumSpaceCustomValue property.
viewKJNavigation.topbarMinimumSpace = .custom
viewKJNavigation.topbarMinimumSpaceCustomValue = 40
您需要将 viewController
类扩展到 UIScrollViewDelegate
,并将 TableView, CollectionView 或 ScrollView
代理人连接到自我。最后一步是从 UIScrollViewDelegate 的代理方法中调用
KJNavigationViewAnimation scrollview 方法
,如下所示:
extension ViewController: UIScrollViewDelegate {
func scrollViewDidScroll(_ scrollView: UIScrollView) {
// viewKJNavigation is my declared KJNavigationViewAnimation property in ViewController class
viewKJNavigation.scrollviewMethod?.scrollViewDidScroll(scrollView)
}
func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
viewKJNavigation.scrollviewMethod?.scrollViewWillBeginDragging(scrollView)
}
func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
viewKJNavigation.scrollviewMethod?.scrollViewDidEndDragging(scrollView, willDecelerate: decelerate)
}
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
viewKJNavigation.scrollviewMethod?.scrollViewDidEndDecelerating(scrollView)
}
}
Kiran Jasvanee, [email protected]
KJNavigationViewAnimation 可在 MIT 许可下使用。有关更多信息,请参阅 LICENSE 文件。