IOS 自定义转场动画

 1,firstVCView 为你当前view 2,secondVCView 为你需要跳转到的view 3,viewCon 同第二项不要传入view直接传入对象即可。

 *这里是调用   UIViewObject  为你要跳转的类  id是你需要传递的值

  let view = UIViewObject()
  view.id = self.id

  self.performAnimationBack(self.view, secondVCView: lineList.view, viewCon: lineList)

 

    // 自定义过场动画
    func performAnimationBack(firstVCView: UIView, secondVCView: UIView, viewCon: UIViewController) {
        // Assign the source and destination views to local variables.
        
        // Get the screen width and height.
        let screenWidth = UIScreen.mainScreen().bounds.size.width
        let screenHeight = UIScreen.mainScreen().bounds.size.height
        
        // Specify the initial position of the destination view.
        secondVCView.frame = CGRectMake(-screenWidth, 0.0, screenWidth, screenHeight)
        
        // Access the app's key window and insert the destination view above the current (source) one.
        let window = UIApplication.sharedApplication().keyWindow
        window?.insertSubview(secondVCView, aboveSubview: firstVCView)
        
        // Animate the transition.
        UIView.animateWithDuration(0.4, animations: { () -> Void in
            firstVCView.frame = CGRectOffset(firstVCView.frame, screenWidth, 0.0)
            secondVCView.frame = CGRectOffset(secondVCView.frame, screenWidth, 0.0)
            }) { (Finished) -> Void in
//                self.dismissViewControllerAnimated(true, completion: nil)
                self.presentViewController(viewCon,
                    animated: false,
                    completion: nil)
        } 
    }

 

 
posted @ 2015-11-05 17:00  前天  阅读(146)  评论(0编辑  收藏  举报