【发布时间】:2016-01-04 12:39:28
【问题描述】:
简而言之: 如何从 Presented ViewController PushViewController ?
简介:
我有MainViewController,其中我有一个单击按钮时的按钮,我正在呈现一个名为LoginViewController 的视图。
在此页面 (LoginViewController) 上,我又看到了 button,点击它后,我尝试推送我的视图控制器(称为 HomeViewController),但它没有推送。
这是我的代码 sn-p,
MainViewController.m
- (IBAction)LoginClicked:(id)sender {
LoginViewController *vc = [[LoginViewController alloc] init];
[self presentViewController:vc animated:YES completion:nil];
}
LoginViewController.m
- (IBAction)buttonActionMethodOnLoginView:(id)sender{
NSLog(@"viewControllers %@",APPDELEGATE.nav.viewControllers);
//LoginViewController is not in this array
HomeViewController *obj = [[HomeViewController alloc] init];
[self.navigationController pushViewController:obj animated:YES];
}
但这对我不起作用。另外,我在pushed 之前打印了a stack of view controllers,但它没有LoginViewController。那么,在不将LoginViewController 添加到a stack of view controllers 的情况下,我如何从LoginViewController 将pushed 转换为HomeViewController?
当我从HomeViewController 返回时,LoginViewController 应该会打开..
是否可以使用此单NavigationController?
注意:- 在这里,我只是举了一个使用 Login、Home 和 Main ViewController 的例子。但我希望它进入其他屏幕。
【问题讨论】:
-
LoginViewController是否实现了UINavigationViewController?您可以尝试使用self presentViewController像 LoginViewController 一样推送HomeViewController。 -
是的,我可以
present那HomeViewController。但是,我想从LoginViewControllerpushHomeViewController.. -
你的 LoginViewController 必须有它的 NavigationController 才能从 LoginView Controller 推送。
-
@technerd :是的,但是我该怎么做呢?
-
@MeetDoshi,你检查我的答案了吗?你得到了一些帮助吗?
标签: ios objective-c uinavigationcontroller pushviewcontroller presentviewcontroller