iOS navigationController pushViewController不工作
问题描述:
我有一个故事板UINavigationController
。导航控制器的根视图控制器称为rootViewController。iOS navigationController pushViewController不工作
我试图以编程方式将视图控制器(取决于其他条件)更改为另一个视图控制器loginViewController
。
我试图做到这一点的viewDidLoad
从RootViewController的这样的:
- (void)viewDidLoad
{
[super viewDidLoad];
loginViewController *viewController = [[loginViewController alloc] init];
[self.navigationController pushViewController:viewController animated:YES];
}
我没有得到任何错误,但它不工作。
它只是加载导航控制器的顶部导航后退按钮,但屏幕的其余部分是黑色的。这就像它不加载任何视图控制器。
我想弄清楚我做错了什么。
任何帮助,这将是伟大的。
感谢
答
首先在故事板上添加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];
}
}
+0
感谢您的帮助。这工作。 – Sequenzia 2013-02-26 16:09:52
答
如果你使用的故事板,创建故事板登录查看,请将您的rootVC到loginVC与SEGUE,可选择一个识别码(例如:“goToLogin”)。然后去在登录视图,并使用:
[self performSegueWithIdentifier:@"goToLogin" sender:self];
难道你的UINavigationController在AppDelegate中添加您的viewController?像那个UINavigationController * navigation = [[UINavigationController alloc] initWithRootViewController:self.viewController]; – 2013-02-26 09:15:00
loginViewControllers视图是如何初始化的?用xib?在代码中?从故事板?听起来像你推着一个没有视图的ViewController。 – Mattias 2013-02-26 09:17:03
你为什么要在viewdidload中推viewcontroller? – peko 2013-02-26 09:22:58