【发布时间】:2018-10-02 16:09:52
【问题描述】:
我正在尝试实现自定义导航控制器转换。转换完成后,fromVC 应该在toVC 后面可见,因此效果应该看起来像toVC 出现在fromVC 顶部,部分覆盖它。
所以,为了达到这个效果,我使用了fromView 的快照,并在animateTransitioning(using:) 方法中将其作为子视图插入到containerView。
snapshot = fromVC.view.snapshotView(afterScreenUpdates: false)
containerView.addSubview(self.snapshot!)
但是,问题在于此快照不包括navigation bar 和tab bar。我找到了一些建议使用UIGraphicsGetImageFromCurrentImageContext() 的答案,但这会返回UIImage。我需要将快照作为UIView 插入到containerView 作为子视图。我可以使用它并使用UIImageView 手动创建UIView 并将其作为子视图插入,但恐怕这对于转换来说太“繁重”了。
如果您知道如何实现这一点,我将非常感谢您的帮助。
【问题讨论】:
-
听起来您正在拍摄错误的视图。你想快照的不是
fromVC,而是它的parent 视图控制器。
标签: ios swift uinavigationcontroller uitabbarcontroller uinavigationbar