Я пытаюсь разработать контроллер контейнера, как показано в документации Apple.Container View Controller - Несбалансированные вызовы для перехода на начало/конец
На данный момент у меня есть простой код инициализации в viewDidAppear
:
presentedVC = self.storyboard!.instantiateViewControllerWithIdentifier(Storyboard.yesNoControllerID)
self.addChildViewController(presentedVC)
presentedID = Storyboard.yesNoControllerID
presentedVC.view.frame = containerView.bounds
self.containerView.addSubview(presentedVC.view)
presentedVC.didMoveToParentViewController(self)
Я осуществил обмен метод, как и в Apple, док:
private func exchangeVC(withVC viewController: UIViewController){
presentedVC.willMoveToParentViewController(nil)
self.addChildViewController(viewController)
viewController.view.frame = newViewStartFrame
let endFrame = oldViewEndFrame
self.containerView.addSubview(viewController.view)
self.transitionFromViewController(presentedVC, toViewController: viewController, duration: 0.25, options: UIViewAnimationOptions.CurveLinear, animations: {
viewController.view.frame = self.presentedVC.view.frame
self.presentedVC.view.frame = endFrame
}) { (finished) in
self.presentedVC.view.removeFromSuperview()
self.presentedVC.removeFromParentViewController()
viewController.didMoveToParentViewController(self)
self.presentedVC = viewController
}
}
Затем, у меня есть кнопка, которая звонит просто:
let controller = self.storyboard!.instantiateViewControllerWithIdentifier(presentedID)
exchangeVC(withVC: controller)
С помощью этого кода мои контроллеры анимируются на экране на кнопке pr ESS. Но в конце анимации я получаю:
несбалансированные вызовы начала/конца внешний вид переходов для UIViewController: 0x7aecf730.
Можете ли вы сказать мне, что я сделал неправильно? Как избавиться от этой ошибки/предупреждения?
Я закончил с заменой его на segues. – Preetygeek