KJNavigationViewAnimation 0.1.0

KJNavigationViewAnimation 0.1.0

测试已测试
语言语言 SwiftSwift
许可 MIT
发布最后发布2017年4月
SwiftSwift版本3.0.1
SPM支持SPM

Kiran Jasvanee 维护。



  • Kiran Jasvanee

预览

使用TableView, CollectionView或ScrollView来侦测自定义导航视图。

注意:在下述演示中,如果动画看起来有滞后感,请等待页面加载完成。滚动时它会很流畅。

               动画至状态栏顶部                                                                动画至零

KJNavigationViewAnimation                     KJNavigationViewAnimation

                  动画至自定义值                                                无模糊效果动画至零

KJNavigationViewAnimation                     KJNavigationViewAnimation

示例

要运行示例项目,先克隆仓库,然后在Example目录中运行pod install

要求

  • Swift 3.0.1或更高版本
  • iOS 9.0或更高版本

安装

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 文件。