簡體   English   中英

嘗試從iOS中的顯示中刪除ViewController時獲取黑屏

[英]Getting black screen when trying to remove ViewController from display in iOS

我有一個使用故事板的iOS應用程序,我在其中顯示我從.xib文件創建的視圖控制器給用戶。 此視圖控制器接受一些用戶輸入,但我必須將其關閉並返回主應用程序。 我能夠顯示視圖控制器,它還有一個調用方法來關閉視圖控制器的按鈕。 我的問題是,在用戶按下按鈕返回主應用程序后,整個屏幕變黑。 這是我的.xib視圖控制器按鈕的代碼,它試圖從顯示中刪除自己:

- (IBAction)myButtonAction:(id)sender {

    [self.view removeFromSuperview];

}

這是我的主應用程序的視圖控制器中的代碼,它首先調用.xib視圖控制器:

- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

    _nextView = [[NextLandscapeViewController alloc] initWithNibName:@"NextLandscapeViewController" bundle:nil];
    [_nextView setDelegate:(id)self];
    NextNavigationController *navigationController = [[NextNavigationController alloc] initWithRootViewController:_nextView];
    [self presentViewController:navigationController animated:YES completion:nil];

}

NextNavigationController是UINavigationController的子類,我的目的是以橫向模式而不是縱向模式加載_nextView。 這部分工作正常。 我現在關心的是在用戶完成它之后解除這個viewController,並返回到主應用程序中的調用視圖控制器。

我的屏幕是黑色有什么原因嗎? 任何人都可以看到我做錯了什么,以及我如何解決這個問題?

在此先感謝所有回復的人。

不要使用removeFromSuperview,使用[self dismissViewControllerAnimated:YES completion:nil]; 就像你使用pop來撤消push一樣,你可以使用dismissViewController撤消presentViewController。 獲得黑屏的原因是因為呈現視圖控制器會從窗口的層次結構中刪除呈現視圖控制器的視圖。 因此,當您從超級視圖中刪除視圖時,除了窗口之外沒有任何內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM