【问题标题】:how to present view model with navigation controller ? in object C如何使用导航控制器呈现视图模型?在对象 C
【发布时间】:2016-02-14 10:16:14
【问题描述】:

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

这是我正在使用的代码:

    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 但我得到了相同的结果任何帮助家伙

针对给定的解决方案进行了编辑 我尝试了您的解决方案,但结果如下 这是我使用的故事板

【问题讨论】:

  • OR 条件检查用户名和密码最有趣的 这个问题的一部分...
  • 你试过我提供的解决方案了吗?

标签: ios objective-c


【解决方案1】:

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

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

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

那么它应该可以正常工作。

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

[]

【讨论】:

    【解决方案2】:

    您必须首先将 UINavigation Controller 放在 Storyboard 中,就在您调用此方法的 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];
            }
    

    然后一切正常。

    【讨论】:

      【解决方案3】:

      一切都很好...您需要将导航控制器作为设计的根。目前,您以 root 身份登录。由于登录是 root,因此您的设计没有导航控制器,因此您的代码无法正常工作。

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

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

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

      【讨论】:

        猜你喜欢
        • 2021-01-03
        • 1970-01-01
        • 2014-10-09
        • 2021-09-20
        • 2014-05-11
        • 1970-01-01
        • 2023-03-15
        • 1970-01-01
        • 2017-06-16
        相关资源
        最近更新 更多