coh*_*n72 4 objective-c uiviewcontroller uikit uinavigationcontroller uimodalpresentationstyle
我正在创建一个自定义推送转换(UINavigationController)从一个视图控制器到一个视图控制器,它的视图是透明的模糊.
我希望"from"视图控制器在新推的视图控制器下保持可见.
我知道如果以模态方式(使用modalPresentationStyle = UIModalPresentationCustom)呈现新的视图控制器,我可以实现这种效果,但有没有办法为导航控制器执行此操作?
我面临的问题是,在转换发生后,视图控制器的视图将从容器中删除.
使用新的iOS 7转换API,您无法在toViewController.view下保留fromViewController.view,因为一旦动画完成,就会私有地管理containerView.
你能做什么却是这样的......
UIView *containerView = [transitionContext containerView];
UIViewController *fromViewController = [transitionContext viewControllerForKey:UITransitionContextFromViewControllerKey];
UIViewController *toViewController = [transitionContext viewControllerForKey:UITransitionContextToViewControllerKey];
UIView *snapshotView = [fromViewController.view snapshotViewAfterScreenUpdates:NO];
[toViewController.view addSubview:snapshotView];
[toViewController.view sendSubviewToBack:snapshotView];
Run Code Online (Sandbox Code Playgroud)
我不太确定最后两行的效果如何(将快照发送到后面)但您可以使用自定义UIViewController子类来处理快照并确保它位于其他内容的后面.
重新阅读后..我有一种感觉,你想要实现某种形式的模态而不是全屏幕演示...我的上述解决方案将要求toViewController全屏...也许你可以添加一个子视图控制器实际上包含模态内容的toViewController?
| 归档时间: |
|
| 查看次数: |
2589 次 |
| 最近记录: |