我有一个UINavigationController
的故事板。导航控制器的根视图控制器称为rootViewController。
我正在尝试以编程方式将视图控制器(取决于其他条件)更改为另一个名为loginViewController
的视图控制器。
我试图在rootViewController的viewDidLoad
中执行此操作,如下所示:
- (void)viewDidLoad
{
[super viewDidLoad];
loginViewController *viewController = [[loginViewController alloc] init];
[self.navigationController pushViewController:viewController animated:YES];
}
我没有收到任何错误,但它没有工作。
它只是使用顶部导航后退按钮加载导航控制器,但屏幕的其余部分为黑色。这就像它没有加载任何视图控制器。
我想弄清楚我做错了什么。
任何帮助都会很棒。
由于
答案 0 :(得分:5)
首先在storyboard中添加loginViewController类,并将ViewController类连接到loginViewController类,并将标识符名称命名为“identifier_Name”。
- (void)viewDidLoad
{
[super viewDidLoad];
[self performSegueWithIdentifier:@"identifier_Name" sender:nil];
}
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([[segue identifier] isEqualToString:@"identifier_Name"])
{
loginViewController *viewController = [segue destinationViewController];
}
}
答案 1 :(得分:0)
如果您正在使用故事板,请在故事板中创建登录视图,使用segue将rootVC链接到loginVC,选择一个标识符(例如:“goToLogin”)。然后进入登录视图,并使用:
[self performSegueWithIdentifier:@"goToLogin" sender:self];