Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何使用导航控制器显示视图模型?在对象C中_Ios_Objective C - Fatal编程技术网

Ios 如何使用导航控制器显示视图模型?在对象C中

Ios 如何使用导航控制器显示视图模型?在对象C中,ios,objective-c,Ios,Objective C,我知道以前有人问过这个问题,但经过几次搜索后,我没有找到我的问题的答案。以下是以modally形式呈现视图后的场景。模拟器给我黑屏,如这里所述: 以下是我正在使用的代码: NSString *username = self.usernameTf.text; NSString *password = self.passwordTf.text; if ([username isEqualToString:@"zakaria"] || [password isEqu

我知道以前有人问过这个问题,但经过几次搜索后,我没有找到我的问题的答案。以下是以modally形式呈现视图后的场景。模拟器给我黑屏,如这里所述:

以下是我正在使用的代码:

    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];
    }
我已经试过这个方法了 但我也得到了同样的结果,有人帮忙吗

为给定的解决方案编辑 我试过你的解决办法,但结果是这样的 这是我用的故事板


您必须首先将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];
        }

那么这一切都很好。

一切都很好。。。您需要将导航控制器作为设计的基础。当前您已以root用户身份登录。由于登录名是root,所以您的设计没有导航控制器,因此您的代码无法工作

简而言之,将导航视图控制器设置为初始视图控制器

即使您不需要代码中的下一行

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

好的,您正在使用故事板。这意味着您的视图控制器init不创建视图。因此,您应该将情节提要Id提供给adminViewController。 然后应该替换adminViewController init

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

那么它应该可以正常工作

但是,如果将情节提要id提供给导航控制器,则不需要初始化任何导航控制器。故事板将创建导航和adminViewController


[]

或检查用户名和密码的条件是这个问题中最有趣的部分……您是否尝试过我提供的解决方案?
adminViewController *avc =   [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"adminViewController"];