2014-10-16 135 views
0

我試圖在另一個模態視圖上呈現透明模態視圖。我正在使用故事板。從另一個模態視圖呈現透明模態視圖

我已經加入這個我的第一模態的視圖:

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

默認情況下,呈現視圖控制器的視圖將從窗口中刪除。

您可以通過將呈現的視圖控制器的modalPresentationStyle設置爲UIModalPresentationOverCurrentContextUIModalPresentationOverFullScreen來更改此設置。兩者都將屏幕上的內容保留下來。

編輯:上述樣式都在iOS 8中引入。如果您希望呈現視圖控制器的視圖保留在iOS 7中,您必須使用自定義演示樣式並提供transitioningDelegate

+0

試圖改變它,都沒有工作。我想我擺脫了阿爾法backView,所以我只是設置視圖背景顏色清除。我的模態視圖上的文本字段在視圖中過渡,我也是如此,但一旦完成了過渡,背部模態視圖仍然變黑。 – James 2014-10-17 00:34:58

+0

你在iOS 7上運行嗎?我應該提到,這些樣式是在iOS 8中引入的。 – ryanipete 2014-10-17 02:20:49

+0

不,我在iOS 8上運行Xcode 6,奇怪它不能正常工作。 – James 2014-10-17 03:59:31

相關問題