【发布时间】:2015-08-07 02:49:45
【问题描述】:
我有一个视图控制器 A(VCA),它以模态方式连接到视图控制器 B(VCB)。 VCB 有一个按钮,可以返回到 VCA。我面临的问题是,如果我从 VCA(纵向模式)切换到 VCB,然后将 VCB 的方向更改为横向,然后点击按钮展开,VCA 以纵向模式出现,右侧屏幕的一半全黑。
【问题讨论】:
我有一个视图控制器 A(VCA),它以模态方式连接到视图控制器 B(VCB)。 VCB 有一个按钮,可以返回到 VCA。我面临的问题是,如果我从 VCA(纵向模式)切换到 VCB,然后将 VCB 的方向更改为横向,然后点击按钮展开,VCA 以纵向模式出现,右侧屏幕的一半全黑。
【问题讨论】:
如果您使用自定义动画视图控制器转换,请尝试设置您要转换到的视图的框架:
extension CustomTransition: UIViewControllerAnimatedTransitioning {
func animateTransition(context: UIViewControllerContextTransitioning) {
guard
let containerView = context.containerView(),
let fromView = context.viewForKey(UITransitionContextFromViewKey),
let toView = context.viewForKey(UITransitionContextToViewKey)
else {
return context.completeTransition(!context.transitionWasCancelled())
}
// This is the important line
toView.frame = fromView.frame
// Do your custom animations
}
}
【讨论】: