显示模态视图的透明背景

时间:2015-05-24 15:42:07

标签: ios objective-c background uinavigationcontroller

我想通过导航控制器显示模态视图,此视图的背景应该是透明的。在模态视图控制器中,我清除了viewDidLoad的背景,如下所示:

self.view.backgroundColor = [UIColor clearColor];

我将此视图显示如下:

ModalViewController *modalViewController = [[ModalViewController alloc] init];
[self.navigationController presentViewController:modalViewController animated:YES completion:nil];

结果显示了我的视图,但背景是黑色的。我试过这样做:

[self setModalPresentationStyle:UIModalPresentationCurrentContext];

对于我的所有视图控制器,包括NavigationController。我试过这样做:

self.navigationController.providesPresentationContextTransitionStyle = YES;
self.navigationController.definesPresentationContext = YES;

然而,所有这些都不起作用。是否可以实现我的任务,或者我应该用另一种方式显示我的观点?

2 个答案:

答案 0 :(得分:0)

您是否在SO Display clearColor UIViewController over UIViewController上查看了此问题?

似乎有你问题的答案。基本上你必须设置 演示风格为UIModalPresentationCurrentContext'。

答案 1 :(得分:0)

我使用了UIModalPresentationCurrentContext而不是UIModalPresentationOverCurrentContext。使用UIModalPresentationOverCurrentContext修复了这个问题。