我在iOS应用程序中首次使用故事板。我的故事板(A& B)中有2个视图。让我们说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];
}
}
答案 0 :(得分:10)
到目前为止你所做的事情似乎是正确的..你还记得在故事板中实际设置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];
}
}
此外,我从图像中看到您的第一个视图控制器未设置为任何特定类。它只是说“View Controller”,而第二个正确显示“Login View Controller”。
注意:我现在无法访问Xcode,所以我还没有测试过它。