Ios5 在故事板中以编程方式呈现ModalViewController iOS 5

Ios5 在故事板中以编程方式呈现ModalViewController iOS 5,ios5,uistoryboard,presentmodalviewcontroller,Ios5,Uistoryboard,Presentmodalviewcontroller,我第一次在iOS应用程序中使用故事板。我的故事板中有两个视图(A和B)。假设A是我故事板中的初始视图控制器。当我的应用程序启动时,我可以看到视图控制器A。到目前为止,一切都按照预期工作。现在在我的视图控制器A中,我正在检查用户是否登录。如果用户未登录,则我希望显示视图控制器B。如何以编程方式使用PresentModalViewController以模式显示B 这是我的设置 这是我的密码 - (void)viewDidLoad { [super viewDidLoad]; //

我第一次在iOS应用程序中使用故事板。我的故事板中有两个视图(A和B)。假设A是我故事板中的初始视图控制器。当我的应用程序启动时,我可以看到视图控制器A。到目前为止,一切都按照预期工作。现在在我的视图控制器A中,我正在检查用户是否登录。如果用户未登录,则我希望显示视图控制器B。如何以编程方式使用PresentModalViewController以模式显示B

这是我的设置

这是我的密码

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.

    if (!isUserLoggedIn) {
        NSLog(@"USER NOT LOGGED IN....");
        UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
        LoginViewController *vc = (LoginViewController*)[mainStoryboard instantiateViewControllerWithIdentifier:@"B"];
        [self presentModalViewController:vc animated:YES];
    }
}

到目前为止你所做的似乎是正确的。。您是否记得在故事板中实际设置B的标识符

另外,你可能想试试

[self.storyboard instantiateViewControllerWithIdentifier:@"B"];
而不是你在做什么

更新:

下面是
viewDidLoad
方法的外观:

- (void)viewDidLoad {

    [super viewDidLoad];

    if (!isUserLoggedIn) {

        NSLog(@"User is not logged in.");

        LoginViewController *vc = (LoginViewController *)[self.storyboard instantiateViewControllerWithIdentifier:@"B"];
        [self presentModalViewController:vc animated:YES];

    }

}
另外,我从图像中看到,您的第一个视图控制器没有设置为任何特定的类。它只显示“视图控制器”,而第二个则正确显示“登录视图控制器”


注意:我现在没有访问Xcode的权限,所以我还没有对它进行测试。

标识符设置正确。我应该在上面的哪行写&我应该从代码中删除什么?@iOSAppDev:Ok。试试我现在发布的代码。如果这不起作用,那么还有其他问题/遗漏。另外,确保这些代码行实际执行。您还可以在要显示的视图控制器(LoginViewController)的
viewDidLoad
中添加
NSLog
语句,以确保已加载该语句。