我从here获取此代码:
func changeRootViewController(viewController: UIViewController) {
if self.window?.rootViewController == nil {
self.window?.rootViewController = viewController
return
}
let snapShot = self.window?.snapshotViewAfterScreenUpdates(true)
viewController.view.addSubview(snapShot!)
self.window?.rootViewController = viewController
UIView.animateWithDuration(0.5, animations: { () -> Void in
snapShot?.layer.opacity = 0.0
snapShot?.layer.transform = CATransform3DMakeScale(1.5, 1.5, 1.5)
}) { (value: Bool) -> Void in
snapShot?.removeFromSuperview()
}
}
它工作正常,但它只有一个问题,当动画完成时,UIActivityIndicatorView框架正在改变或者视图有某种“踢”。
您可以在THIS视频中看到它。
提前致谢。