【问题标题】:How to push to view controller form presented xib如何推送查看控制器表单呈现的 xib
【发布时间】:2017-05-26 06:52:57
【问题描述】:

我有密码的xib,在我点击登录按钮后,将会调用Web服务,成功响应后,我必须提供密码的xib。
当我完成那部分时,我必须从提供的 xib 推送到另一个视图控制器。

这是我的代码:

[self dismissViewControllerAnimated:NO completion:^{
    if ([_delegate respondsToSelector:@selector(unlockWasSuccessfulLockScreenViewController:pincode:)]) {
        [_delegate unlockWasSuccessfulLockScreenViewController:self pincode:pincode];

        PassCodeVC *sgn = [self.storyboard instantiateViewControllerWithIdentifier:@"PassCodeVC"];
        UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:sgn];

        [nav pushViewController:sgn animated:YES];

    }
    }];

我已经这样介绍了xib:

 JKLLockScreenViewController * viewController = [[JKLLockScreenViewController alloc] initWithNibName:NSStringFromClass([JKLLockScreenViewController class]) bundle:nil];
UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:viewController];

[viewController setLockScreenMode:LockScreenModeNew];    // enum { LockScreenModeNormal, LockScreenModeNew, LockScreenModeChange }
[viewController setDelegate:self];
[viewController setDataSource:self];
[viewController setTintColor:[UIColor colorWithRed:53.0 / 255.0 green:115.0 / 255.0  blue:157.0 /255.0  alpha:1]];

[self presentViewController:nav animated:YES completion:nil];

【问题讨论】:

    标签: ios objective-c xcode xib pushviewcontroller


    【解决方案1】:

    如果您希望使用当前导航,那么只需使用当前导航控制器简单地传递新控制器。

    PassCodeVC *sgn = [self.storyboard instantiateViewControllerWithIdentifier:@"PassCodeVC"];
    [self.navigationController pushViewController:childViewController animated:YES];
    

    【讨论】:

    • 我已经完成了,但它说你在导航控制器中传递了 nil 值
    • 获取 StoryBoard 像这样: UIStoryboard *storyboard = [UIStoryboard storyboardWithName: @"MainStoryboard" bundle:[NSBundle mainBundle]]; PassCodeVC * sgn = [storyboard instantiateViewControllerWithIdentifier:@"PassCodeVC"];还要检查 StoryBoard ID 是否设置?
    【解决方案2】:

    您可能需要设置您尝试加载的 View Controller 的 Storyboard ID。它位于检查器中,就在您为视图控制器分配自定义类的下方。see this image

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-28
      • 1970-01-01
      • 2018-11-23
      • 1970-01-01
      • 2011-01-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多