ビュー コントローラーにカスタム トランジションを表示したいのでfromViewController
、AlertViewController を表示するかのように暗くなります。customTransition マネージャーを作成しました。
func animateTransition(transitionContext: UIViewControllerContextTransitioning) {
let container = transitionContext.containerView()
let fromView = transitionContext.viewForKey(UITransitionContextFromViewKey)!
let toView = transitionContext.viewForKey(UITransitionContextToViewKey)!
let fadeRect = CGRectMake(0, 0, fromView.frame.size.width, fromView.frame.size.height)
let fadeView = UIView(frame: fadeRect)
if (self.presenting == true){
fadeView.backgroundColor = UIColor.blackColor()
fadeView.alpha = 0
fromView.addSubview(fadeView)
container.insertSubview(fadeView, aboveSubview: fromView)
} else {
// adding subviews to container
}
let duration = self.transitionDuration(transitionContext)
UIView.animateWithDuration(duration, animations: { () -> Void in
if (self.presenting == true){
fadeView.alpha = 0.5
} else {
}
}) { (Bool) -> Void in
if self.presenting{
container.addSubview(toView)
}
transitionContext.completeTransition(true)
}
}
}
以下に示すように、移行中のマネージャーを に割り当てtoViewController
ます。
var purchaseSpecialItemsViewController = self.storyboard?.instantiateViewControllerWithIdentifier("specialItemPurchaseVC") as! BRSpecialItemPurchaseViewController
purchaseSpecialItemsViewController.transitioningDelegate = self.fadedTransitionManager
self.presentViewController(purchaseSpecialItemsViewController, animated: true, completion: nil)
表示しようとしているView Controllerは、固定サイズのストーリーボードにあります。背景がはっきりしていて、画面の中央に配置したいテーブルビューをそこに追加しました。
TableViewは問題なく表示されていますが、fromViewControllerが全く見えません。後で 0.5 にアニメーション化される 0 に黒の背景のアルファを設定しても、それはただの黒です。
View Controller をモーダルに表示していますが、それが問題の原因ですか? 代わりにプッシュ アンド ポップ操作を使用する必要がありますか?