2016-02-14 34 views
-2

我知道這個問題之前已經問過,但幾次搜索後,我沒有找到我的查詢答案這裏是呈現在模態形式的視圖後,模擬器給我這裏提到的黑色屏幕: screen shot如何用導航控制器呈現視圖模型?在對象C

這裏是我使用的代碼:

NSString *username = self.usernameTf.text; 
    NSString *password = self.passwordTf.text; 
    if ([username isEqualToString:@"zakaria"] || [password  isEqualToString:@"zakaria"]) { 
     adminViewController *avc = [[adminViewController alloc] init]; 
     UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:avc]; 
      [self presentViewController:nav animated:YES completion:nil]; 
    } 

我已經嘗試過這種解決方案Modal View with Navigation Controller ,但我得到了同樣的結果沒有任何幫助傢伙

編輯的特定解決方案 我想你的解決方案,但這裏是結果 enter image description here這裏是我使用

enter image description here

+2

*** OR條件***檢查*用戶名和密碼*是***最搞笑***這個問題的一部分... –

+0

您是否嘗試過的解決方案,我有提供? –

回答

2

好吧,你正在使用故事板。這意味着你的視圖控制器init不會創建視圖。所以你應該給你的adminViewController Storyboard ID。 然後你應該更換你的adminViewController初始化

adminViewController *avc = [[adminViewController alloc] init]; 

隨着

adminViewController *avc = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"adminViewController"]; 

那麼它應該工作的罰款。

但是,如果您將故事板ID提供給導航控制器,則不需要初始化任何導航控制器。 Storyboard將創建導航和adminViewController。

[enter image description here]

+0

非常感謝你,你是最好的 –

0

你必須先放置UINavigation控制器在故事板只是故事板在您調用此方法的ViewController上

NSString *username = self.usernameTf.text; 
     NSString *password = self.passwordTf.text; 
     if ([username isEqualToString:@"zakaria"] || [password  isEqualToString:@"zakaria"]) { 
      adminViewController *avc = [[adminViewController alloc] init]; 

       [self presentViewController:avc animated:YES completion:nil]; 
     } 

然後,所有這些工作正常。

0

一切正常......您需要將導航控制器作爲您設計的根。目前您已經以root身份登錄。由於登錄名爲root,因此您的設計沒有導航控制器,因此您的代碼無法工作。

在短,使導航視圖控制器爲在初始視圖控制器

即使你並不需要在你的代碼的下面一行。

UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:avc]; 
+0

我已經試過你的解決方案,但同樣的結果出現 –

相關問題