具体来说,我在解除视图控制器B时遇到问题,因此视图控制器A再次可见。按照以下步骤操作,视图控制器A的外观将严重失真。
如何导致问题/错误。
VC A的外观现在严重破坏/扭曲/错误。
我怀疑如果VC支持另一组方向会出现同样的问题,但是现在这是问题发生的确切而简单的情况。
转换由实现UIViewControllerAnimatedTransitioning
的类处理。它基本上就是这样。
class FadeAnimator: NSObject {
let duration: TimeInterval = 1.0
var originFrame = CGRect.zero
}
extension FadeAnimator: UIViewControllerAnimatedTransitioning {
func transitionDuration(using transitionContext: UIViewControllerContextTransitioning?) -> TimeInterval {
return self.duration
}
func animateTransition(using transitionContext: UIViewControllerContextTransitioning) {
let containerView = transitionContext.containerView
let toView = transitionContext.view(forKey: .to)!
containerView.addSubview(toView)
toView.alpha = 0
UIView.animate(withDuration: self.duration, animations: {
toView.alpha = 1
}, completion: { _ in
transitionContext.completeTransition(true)
})
}
}
显示问题的完整示例项目位于:https://bitbucket.org/zzzzapjonny/testtransition/src/master/testtransition/