从另一个模态视图呈现透明模态视图

时间:2014-10-16 19:58:28

标签: ios objective-c modalviewcontroller

我试图在另一个模态视图上呈现透明模态视图。我正在使用故事板。

我已将此添加到我的第一个模态视图中:

self.modalPresentationStyle = UIModalPresentationCurrentContext;

 [self performSegueWithIdentifier:@"sendUserMessage" sender:self];

这是我的第二个模态视图(我希望在第一个模态视图中显示第一个透明背景)

// Make the main view's background clear, the second view's background transparent.
    self.view.backgroundColor = [UIColor clearColor];
    UIView* backView = [[UIView alloc] initWithFrame:self.view.frame];
    backView.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.6];
    [self.view addSubview:backView];

但似乎我无法与我的用户界面进行交互,以及后屏幕在完全加载后变黑(尽管最初是透明的)。

我认为是因为我是从另一个模态视图中做到的?

1 个答案:

答案 0 :(得分:1)

默认情况下,将从窗口中删除呈现视图控制器的视图。

您可以通过将呈现的视图控制器的modalPresentationStyle设置为UIModalPresentationOverCurrentContextUIModalPresentationOverFullScreen来更改此设置。两者都将屏幕内容保留在屏幕上。

编辑:以上样式都是在iOS 8中引入的。如果您希望呈现视图控制器的视图保留在iOS 7中,您必须使用自定义演示样式并提供{ {3}}