2015-06-16 129 views
0

我看到很多類似於我的問題,但沒有解決方案的工作,這可能是因爲我創建,然後將iOS框架導入到項目。iOS框架 - 加載筆尖,但沒有設置視圖插座

基本上,我有一個簽到框架,我想顯示網頁視圖,如果用戶沒有登錄。

我正常的項目會打電話給我的框架,如果我需要進行身份驗證,該登入框架。會告訴我加載一定的.xib登錄

在我的框架,這個的.xib被命名爲SignIn.xib它包含網頁視圖視圖控制器內爲你一個看:

enter image description here

現在,在我的框架,我初始化視圖控制器,並調用該委託的函數加載signInView:

NSString* const frameworkBundleID = @"iOSLoginSDK"; 
NSBundle* bundle = [NSBundle bundleWithIdentifier:frameworkBundleID]; 

SignInViewController* signInViewController = [[SignInViewController alloc] initWithNibName:@"SignIn" bundle:bundle]; 

[self.delegate loadSignInView:signInViewController]; 

在我的項目,我根本就以下內容,這種方法會

-(void) loadSignInView:(CYMSignInViewController *)signInViewController { 
    [self presentViewController:signInViewController animated:YES completion:nil]; 
} 

不過,我有以下錯誤,當我嘗試運行應用程序:

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "SignIn" nib but the view outlet was not set. 
由delagate叫

我使用的XCode 6.3.2

編輯1:我認爲發生了問題,因爲我有我的廈門國際銀行內部的視圖控制器。我可以這樣做嗎?

編輯2:這裏是我的插座在我的.xib

enter image description here

EDIT3:我試圖重新筆尖,但我仍然得到同樣的錯誤。

下面是我沒有以下步驟:

  1. 我創建一個空的XIB
  2. 我添加了一個視圖控制器,然後我加入我的元件在其上
  3. 我創建視圖控制器文件和予設定它作爲視圖控制器的自定義類

我在這裏錯過了什麼嗎?

+0

你在你的筆尖有一個簡單的錯誤 - 最外層的'UIView'需要連接到你的UIViewController對象的view view。只需選擇UIView並拖動到UIViewController對象並選擇'view'輸出口 – Paulw11

+0

我的最外層,你的意思是視圖控制器,因爲那是最外層的還是FileOwner?因爲它看起來像,請參閱edit2 – CoachNono

+0

您可以添加顯示對象層次結構的左側NIB導航器面板的屏幕截圖嗎?文件所有者應該是你的UIViewController類'SignInViewController' - 實際的NIB組件層次結構中的第一個對象應該是一個UIView - 這個視圖將包含你的工具欄和UIWebView – Paulw11

回答

0

好的,基本上,好像你不能在一個獨立的.xib中有一個視圖控制器。我認爲,因爲.xib是一種視圖控制器(某人可以澄清)。

我做了什麼,是我創建了一個視圖,正確設置了我的設計,然後將我的ViewController類文件分配給文件的所有者。這樣,它現在正在工作。

+1

這就是你應該怎麼做 - 對不起,從你的截圖中不清楚你做了什麼。您可以使用容器將另一個UIViewController添加到視圖中,但該UIViewController實例通常與其自己的NIB或Storyboard場景相關聯 – Paulw11

相關問題