我试图在另一个模态视图上呈现一个透明的模态视图。我正在使用情节提要。

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

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];


但是似乎我无法与UI进行交互,并且在完全加载后,后屏幕变黑(尽管起初是透明的)。

我认为这是因为我正在从另一个模式视图进行操作?

最佳答案

当前视图控制器的视图将默认从窗口中删除。

您可以通过将显示的视图控制器的modalPresentationStyle设置为UIModalPresentationOverCurrentContextUIModalPresentationOverFullScreen来更改此设置。两者都将覆盖内容显示在屏幕上。

编辑:以上样式在iOS 8中均已引入。如果您希望呈现视图控制器的视图在iOS 7中保持不变,则必须使用“自定义”呈现样式并提供transitioningDelegate

关于ios - 从另一个模态视图中呈现透明模态视图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26412822/

10-14 23:43