Я использовал код, показанный ниже, чтобы представить новый контроллер представления плавным скользящим движением. Фактическая анимация работает отлично, но когда анимация заканчивается, все виды исчезают, и у меня остается пустой экран. В консоли написано сообщение об ошибке
«Несбалансированные вызовы для начала/конца смены внешнего вида для ‹ 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)
})
}
}
Пожалуйста, спросите, если вам нужна дополнительная информация, спасибо!
willMoveToParentViewController:
и т. д.). - person duci9y   schedule 23.07.2014