簡體   English   中英

在故事板中使用.xib的問題

[英]Issues Using .xib With Storyboard

嘿,我正在嘗試打開使用xib接口文件設計的視圖控制器。 我正在使用以下代碼行從作為情節提要組件創建的視圖控制器中生成控制器。

YourViewController *viewController [[YourViewControlleralloc] initWithNibName:@"ViewControllerName" bundle:nil];

[self presentViewController:viewController animated:YES completion:nil]; 

之前我從未用.xib設置過視圖控制器,也從未通過情節提要鏈接到一個視圖控制器,所以可能會出錯。 這是我嘗試呈現視圖時遇到的錯誤。

2013-05-17 13:06:45.120 Coffee [8991:907] *由於未捕獲的異常'NSInternalInconsistencyException'而終止應用程序,原因:'-[UIViewController _loadViewFromNibNamed:bundle:]加載了“ PeekPagedScrollViewController”筆尖,但視圖出口未加載組。'

在.xib中將文件的所有者設置為視圖控制器的類(也許它稱為PeekPagedScrollViewController)。

然后將其view出口連接到.xib文件中的主視圖。

它已正確連接,我剛剛忘記聲明一個initWithNibName方法,因此當我從情節提要中調用它時,它崩潰了。 愚蠢的錯誤,但感謝@matt的所有寶貴反饋

將Storyboard視圖控制器自定義類設置為您的類名稱(您的xib也在引用該類),然后在同一類中,只需使用以下命令覆蓋initWithCoder

- (id)initWithCoder:(NSCoder *)aDecoder
{
    self = [[super initWithCoder:aDecoder] initWithNibName:@"YourCustomViewControllerXibsName" bundle:nil];
    if( self ) {
    }
    return self;
}

這將使您能夠在Storyboard中設計布局和選擇過渡,但可以在獨立的nib文件中設計布局。

故事板將處理實例,但是當initWithCoder:被調用時, initWithNibName:將實例化的方法self經廈門國際銀行。

暫無
暫無

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

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