【发布时间】:2013-09-24 23:21:49
【问题描述】:
我想在当前视图上以模态方式呈现一个具有略微透明背景的视图控制器,以便第一个视图在模态视图下略微可见。
我设置了模态视图控制器的 alpha 值并将modalPresentationStyle 设置为UIModalPresentationCurrentContext,正如另一篇文章中所建议的那样。
结果是视图背景在动画时是透明的,但是当视图控制器就位时,它会变为不透明的黑色。它在动画解雇时回到透明状态。
如何让它在活动时透明?
我已经在iOS 6 and 7 进行了测试。我使用的代码如下:
MyModalViewController *viewController = [[MyModalViewController alloc] init];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:viewController];
[navController setNavigationBarHidden:YES];
self.navigationController.modalPresentationStyle = UIModalPresentationCurrentContext;
[self.navigationController presentViewController:navController animated:YES completion:NULL];
【问题讨论】:
-
这不能在 iPhone 上使用 UIModalPresentationCurrentContext 完成。 BG 中的控制器在过渡后被移除,这就是一切消失的原因。如果您进行一些搜索,您会发现人们通过将屏幕截图保存为 UIImage 并将其用作模态控制器的背景来伪造它的示例。
-
Alex 所说的是真的,您无法使用 IOS SDK 做到这一点。这是指向类似问题和解决方法的链接。 stackoverflow.com/questions/2578614/…
-
在另一个帖子上查看我的答案:stackoverflow.com/a/21381183/507323
-
Here你可以找到完整的解决方案。
标签: ios uiviewcontroller uinavigationcontroller modalviewcontroller