我使用下面显示的代码以无缝滑动方式呈现新的视图控制器。实际的动画效果很好,但是当动画完成后,所有的视图都会消失,我会留下一个空白的屏幕。控制台中发布了一条错误
"对<开始/结束外观转换的不平衡调用Rocket_Game18GameViewController:0x155e288f0>"
class SlideRightToLeft: UIStoryboardSegue {
override func perform() {
var sourceVC:UIViewController = self.sourceViewController as UIViewController
var destVC:UIViewController = self.destinationViewController as UIViewController
let sourceVCFrame = sourceVC.view.frame
let width = destVC.view.frame.size.width
sourceVC.view.addSubview(destVC.view)
destVC.view.frame = CGRectOffset(sourceVCFrame, width, 0)
UIView.animateWithDuration(1.5, delay: 0, options: UIViewAnimationOptions.CurveEaseInOut, animations: {
sourceVC.view.frame = CGRectOffset(sourceVCFrame, -width, 0)
}, completion: {
finished in
destVC.view.removeFromSuperview()
sourceVC.presentViewController(destVC, animated: false, completion: nil)
})
}
}
请询问您是否需要更多信息,谢谢!
答案 0 :(得分:0)
我现在已经通过将其他人的Objective-c代码转换为swift来弄清楚我做错了什么。事实证明,我的整个自定义动画想法是错误的,当iOS7发布时,他们改变了它的工作方式。这是博客的链接,我找到了解决方案,其他任何人都希望看到它