-2
したがって、セグメント化されたコントロールを使用して、コントローラを表示するように切り替えることができます。 しかし、多くの場合、できるだけ早く私はスイッチとして、私はこのメッセージが表示されます。セグメント化されたコントロールで開始/終了の外観トランジションが不一致
/終了外観遷移
プラスを開始するアンバランスの呼び出しは、私はこれを取得した後に、時にはすべてが上のオブジェクトことが起こりますビューは消えます。
は、ここでは、コードです:
func segmentValueChanged(sender: AnyObject) {
if sender.selectedIndex == 0 {
let newController = controllers.newController1
let oldController = childViewControllers.last as UIViewController!
self.container.frame.size.height = newController.view.frame.height
oldController.willMoveToParentViewController(nil)
addChildViewController(newController)
transitionFromViewController(oldController, toViewController: newController, duration: 0.9, options: .CurveLinear, animations:{() -> Void in
// nothing needed here
}, completion: { (finished) -> Void in
oldController.removeFromParentViewController()
newController.didMoveToParentViewController(self)
})
} else if sender.selectedIndex == 1 {
let newController = controllers.newController2
let oldController = childViewControllers.last as UIViewController!
oldController.willMoveToParentViewController(nil)
addChildViewController(newController)
transitionFromViewController(oldController, toViewController: newController, duration: 0.9, options: .CurveLinear, animations:{() -> Void in
// nothing needed here
}, completion: { (finished) -> Void in
oldController.removeFromParentViewController()
newController.didMoveToParentViewController(self)
})
}
}
どのように私はこの問題を解決することができますか?
ここでは、子ビューコントローラとそのビューをスワップする作業のダウンロード可能な例を示します。https://github.com/mattneub/Programming-iOS-Book-Examples/tree/16eccf4d1a6003b2bb4032d4bd9b1b0695846bd/bk2ch06p316containerController – matt