我正在使用 presentModalViewController:animated:,虽然在功能上它在视觉上正常工作但它有一个我想删除的工件。当模态呈现的viewController出现时,其父viewController被完全隐藏,背景变黑。这不是我想要的。我的孩子viewController的视图是半透明的,我想揭示它后面的父viewControllers视图。我想要的效果是一张描图纸在背景上滑动。
我假设 presentModalViewController:animated:支持此功能。那不是这样吗?
谢谢,
道格
答案 0 :(得分:9)
NavigationController 和视图控制器的设计方式是一次只能显示一个视图控制器。当按下/显示新的视图控制器时,系统将隐藏先前的视图控制器。因此,当您缩小模态视图的 alpha 时,您可能会看到窗口的backgroundColor (您现在看到的黑色)。
如果要在主视图上滑入半透明视图,可以将视图添加为主视图的子视图,并使用 UIView动画为其设置动画。
答案 1 :(得分:7)
这可能会让你得到你想要的东西:
presentingViewController.modalPresentationStyle = UIModalPresentationCurrentContext;
答案 2 :(得分:2)
presentingViewController.modalPresentationStyle = UIModalPresentationCurrentContext;
在ios7之后无法正常工作,您可以在
presentingViewController.modalPresentationStyle = UIModalPresentationOverCurrentContext;
presentingViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
然后两个:
[appViews.rootViewController presentViewController:presentingViewController animated:YES completion:nil];