我想创建一个动画从左到右移动的segue。我需要有关自定义segue代码的帮助。
感谢。
答案 0 :(得分:3)
我自己想出了问题的答案。
当我使用segue创建时,我必须将其设为"custom"
而不是"show"
。
然后,我必须创建一个控制我的自定义segue(UIStoryBoardSegue
文件)的新文件。然后我将此代码添加到该文件中:
override func perform() {
var firstVCView = self.sourceViewController.view as UIView!
var secondVCView = self.destinationViewController.view as UIView!
// 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.sourceViewController.presentViewController(self.destinationViewController as! UIViewController,
animated: false,
completion: nil)
}
}
无论如何,谢谢科尔。
答案 1 :(得分:0)
虽然你的问题非常广泛。我建议你查看Spring这是一个非常好的动画库。玩弄示例项目。其中一个实际上是一个可以自定义的左右移动。我可以在没有任何背景的情况下详细说明。