【发布时间】:2015-08-13 19:56:12
【问题描述】:
我想为我的视图控制器呈现一个自定义的过渡,这样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)
我将要显示的视图控制器在情节提要中,大小固定。它有一个清晰的背景,我在那里添加了一个表格视图,我希望它位于屏幕的中心。
TableView 显示没有问题,但我根本看不到 fromViewController。它只是黑色,即使我将黑色背景的 alpha 设置为 0,后来动画为 0.5。
我以模态方式展示视图控制器,这是导致问题的原因吗?我应该改用推送和弹出操作吗?
【问题讨论】:
标签: ios custom-transition