URMovingTransitionAnimator 0.7.5

URMovingTransitionAnimator 0.7.5

测试已测试
语言 SwiftSwift
许可证 MIT
发布上次发布2017年4月
SwiftSwift 版本3.0
SPM支持 SPM

Urtaq 维护。



URMovingTransitionAnimator

travis

这是什么?

Swift3 视图控制器之间带有模糊效果的移动视图转换
此代码风格采用 协议面向编程
因此,您无需继承。只需实现协议。
您可以处理一些参数来自定义此过渡。例如,比例、持续时间等。

sample1sample1

要求

  • iOS 8.1+
  • Swift 3.0+

示例

请参阅 Example 文件夹。
运行 pod install 并打开 .xcworkspace 文件。

使用方法

import URMovingTransitionAnimator

1. 在过渡开始的视图控制器中设置过渡初始化

class viewController: UIViewController, URMovingTransitionMakable {
    ...
    override func viewDidLoad() {
        super.viewDidload()
        
        self.initMovingTrasitionGesture()
        
        ...
    }
    
    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)

        self.initMovingTransitionNavigationDelegate()
        
        ...
    }

    deinit {
        self.removeMovingTransitionGesture()
        
        ...
    }
    
    ...

    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        ...

        if let cell = tableView.cellForRow(at: indexPath) as? URExampleTableViewCell {
            self.makeBlurredTransitionAnimator(target: cell.imgView, baseOn: tableView.superview!, duration: 0.8)
            
            // if you want to add scaling animation, use makeTransitionAnimator function like below
            // At the beginning, the scaling animation will be showed!!
            // self.makeBlurredTransitionAnimator(target: cell.imgView, baseOn: tableView.superview!, duration: 0.8, needScaleEffect: true, scale: 1.05)
            
            // if you want to transition without the blur effect, you can use this make function!!
            // self.makeTransitionAnimator(target: cell.imgView, baseOn: tableView.superview!, duration: 0.8, needScaleEffect: true, scale: 1.05)
        }
        
        ...

        // push view controller
    }
    
    ...
}

2. 在过渡结束的视图控制器中设置目标框架

class finishViewController: UIViewController, URMovingTransitionReceivable {
    ...
    
    var transitionView: UIView?
    
    ...
    
    func transitionFinishingFrame(startingFrame: CGRect) -> CGRect {
        let frame = {view's frame to be the destination}
        let finishingFrame = CGRect(origin: CGPoint(x: 0, y: 64), size: frame.size)

        return finishingFrame
    }
    
    ...
}

3. 😀UIMovingTransitionAnimator 可配置的参数😀

  • 是否需要剪裁目标视图的边界
  • 放大或缩小效果
    • 此效果应用于转换开始时。
    • 要使用此功能,您需要将缩放值设置为大于 1.0 或小于 1.0

  • 完成动画的持续时间
  • Pop 转换的完成动画持续时间
  • 是否需要过渡完成后立即运行整个转换完成回调

待办

  • [ ] 重新构建初始化以方便使用

许可证

URMovingTransitionAnimator 可在 MIT 许可证下获取。有关更多信息,请参阅 LICENSE 文件。