簡體   English   中英

在帶有情節提要的項目中以編程方式創建UIViewController

[英]Programmatically create a UIViewController in a project with a storyboard

我正在嘗試使用“下一步”按鈕制作一個ViewController,該按鈕將我帶到同一ViewController類的實例。

@interface ViewControllerDeco ()
{
    ViewControllerDeco *page1;
}

viewDidLoad:

page1 = [[ViewControllerDeco alloc]init];

按鈕:

- (IBAction)btnNext:(id)sender {
    [self.navigationController pushViewController:page1 animated:YES];
}

它顯示黑屏,我丟失了什么嗎?

因此,如果您沒有在ViewControllerDeco控制器的init函數中添加UI元素,則會出現黑屏。 如果要基於情節提要中的視圖控制器創建ViewControllerDeco的實例,請嘗試如下操作:

ViewControllerDeco *page1 = [self.storyboard instantiateViewControllerWithIdentifier:@"ViewControllerDeco"];
[self.navigationController pushViewController:page1 animated:YES];

確保將故事板標識符添加到要在代碼中加載的VC。

啟動視圖控制器

page1 = [[ViewControllerDeco alloc]init];

實際上並沒有從情節提要中獲取它,它只是創建一個空的新內容(例如,您可以在viewDidLoad中設置一個新內容),如果要從情節提要中創建該內容,則應執行以下操作:

UIViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"ViewControllerDecoId"];
[self.navigationController pushViewController:vc animated:YES];

以前,您應該在情節提要中將控制器的“ ViewControllerDecoId”設置為“ Storyboard ID”

希望有所幫助

暫無
暫無

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

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