![](/img/trans.png)
[英]IBOutlets nil and view not loading after presentModalViewController:animated:
[英]What are the possibilities of getting NULL IBOutlets while loading a view.. IOS
我一直在研究IOS應用程序。 在我有單個項目之前,所有源代碼都是在該設置中正確加載了應用程序,現在我將其拆分為多個項目。 之后我現在面臨一個問題...在ViewDidLoad中,IBOutlet的按鈕都是零值,視圖也加載黑色。 我無法猜出是什么問題。 任何可能導致這種情況的想法......
我加載了我的觀點......
main =[[main_page_controller alloc] init];
if (main != NULL)
[root.navigationController pushViewController:main animated:YES];
我不確定我需要在這里發布哪部分代碼,以使問題更容易理解......請分享您的建議..
編輯:我運行了我的舊項目,然后嘗試使用我的新設置應用程序成功啟動。 我從設備中刪除了應用程序,並僅使用新設置加載,問題再次顯示出來。 那么舊的設置是什么? 我在新的...中錯過了什么?
首先檢查xib(nib)文件中的所有連接,如果已連接,則斷開它們,清理項目(cmd + k) ,然后再次連接連接。
看看這張圖片是否有聯系
請參閱文檔
要使用nib初始化視圖控制器對象,可以使用initWithNibName:bundle:方法指定視圖控制器使用的nib文件。 然后,當視圖控制器需要加載其視圖時,它會使用存儲在nib文件中的信息自動創建和配置視圖。
初始化視圖控制器,並且您正在為視圖使用.xib文件時,需要調用initWithNibName:bundle:
. 這意味着它將使用xib文件在loadView
創建視圖。 目前,您只是使用init
,這將創建一個空白的UIViewController
對象。
所以在這種情況下,你的代碼就是(假設主包中的.xib被稱為“MainViewControllerView.xib”):
main =[[main_page_controller alloc] initWithNibName:@"MainViewControllerView" bundle:nil];
if (main) {
[root.navigationController pushViewController:main animated:YES];
}
還要檢查你的.xib文件,看看是否所有的IBOutlet
都連接到了你想要的東西。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.