NSViewAnim 1.0.1

NSViewAnim 1.0.1

ns 维护。



  • namsoo5

NSViewAnim

💜享受动画的便利性!!💜

需求

iOS 12+

安装

NSViewAnim 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中

pod 'NSViewAnim'

用法

⭐️import NSViewAnim⭐️


动画链选项

func nextVC(){
    guard let nextVC = self.storyboard?.instantiateViewController(identifier: "Second") else {return}
    nextVC.setPresentStyle(presentMode: .custom)    // CircleAnim Require Option
          .setTransStyle(transMode: .coverVertical)
          .setTransDelegate(self)    // CircleAnim Require Option
          .done()    // Finish Chaining
}


圆形效果动画

  • 扩展 UIViewControllerTransitioningDelegate
  • 实现 func
    • animationController(forPresented presented: UIViewController, presenting: UIViewController, source: UIViewController)
    • animationController(forDismissed dismissed: UIViewController)
class ViewController: UIViewControllerTransitioningDelegate {
    let circleView = NSCircleAnim()

    // presentAnim
    func animationController(forPresented presented: UIViewController, presenting: UIViewController, source: UIViewController) -> UIViewControllerAnimatedTransitioning? {
        return circleView.animState(mode: .present)
            .animStartPoint(point: self.nextButton.center)
            .animColor(color: self.nextButton.backgroundColor!)
        
    }
    
    // dismissAnim
    func animationController(forDismissed dismissed: UIViewController) -> UIViewControllerAnimatedTransitioning? {
        return circleView.animState(mode: .dismiss)
            .animStartPoint(point: self.nextButton.center)
            .animColor(color: self.nextButton.backgroundColor!)
    }
  
  	func nextVC(){
      nextVC.setPresentStyle(presentMode: .custom)  // CircleAnim Require Option
                .setTransStyle(transMode: .coverVertical)
                .setTransDelegate(self)  // CircleAnim Require Option
                .done()
    }
}

  • NSCircleAnim

    • ❗️__Required__❗️
      • 下一个 ViewController 声明 setTransDelegate 和 presentMode: .custom
    circleView.animState()
    .animStartPoint()
    .animColor()
    .animDuration()
    .done()
  • animState: present 或 dismiss

  • animStartPoint: 动画效果起始位置

  • animColor: 动画效果颜色

  • animDuration: 动画持续时间

  • done: 完成链式调用



向下拖动关闭

  • 扩展 NSDownView
  • 添加 downViewController() 或 downViewController(_, degree)
  • 调用 downScrollDismissAnim()
class ViewController: UIViewController, NSDownView {
    func downViewControllerEvent(_ gesture: UIPanGestureRecognizer) {
        // add gesture
        downViewController(gesture)
        downViewController(gesture, degree: 1/3)
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        // apply Anim
        self.downScrollDismissAnim()
        
    }
}
  • downViewController(): 添加手势识别器
  • downScrollDismissAnim(): 应用手势识别器


作者

namsoo5, [email protected]

许可

NSViewAnim 采用 MIT 许可协议。更多信息请参阅 LICENSE 文件。