为什么我的故事板没有加载?

Why is my storyboard not loaded?

我正在尝试使用特定登录任务的代码打开一个单独的故事板。

我创建了故事板和实例 class 如下

+ (instancetype)newStoryboardInstance {
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:NSStringFromClass([self class]) bundle:[NSBundle bundleForClass:[self class]]];
    AdyenLoginViewController *viewController = [storyboard instantiateInitialViewController];

    return viewController;
}

然后我从另一个 class 调用这个

- (void) viewDidAppear:(BOOL)animated {
    if([NWTillHelper isDebug] == 1) {
        NSLog(@"%s entered", __PRETTY_FUNCTION__);
    }
    [AdyenLoginViewController newStoryboardInstance];
}

但是 loginController 从未显示,也没有显示任何错误消息,它只是完成加载我的正常故事板然后停止。

故事板名称等根据 class 名称是正确的,没有显示编译器错误或警告

如何让它加载我的特定故事板?

如果您使用的是导航控制器,那么 viewDidAppear 将如下所示:-

- (void) viewDidAppear:(BOOL)animated {
    if([NWTillHelper isDebug] == 1) {
       NSLog(@"%s entered", __PRETTY_FUNCTION__);
    }
    if([AdyenLoginViewController newStoryboardInstance]) {
       [self.navigationContoller pushViewController:[AdyenLoginViewController newStoryboardInstance] animated:true];
    }

}

或者您可以像这样显示 viewController :-

- (void) viewDidAppear:(BOOL)animated {
    if([NWTillHelper isDebug] == 1) {
       NSLog(@"%s entered", __PRETTY_FUNCTION__);
    }
    if([AdyenLoginViewController newStoryboardInstance]) {
       [self presentViewController:[AdyenLoginViewController newStoryboardInstance] animated:true completion:^{

       }];
    }

}