【发布时间】:2013-11-27 16:44:50
【问题描述】:
我有一个视图控制器(MailServicesController),我以模态方式呈现。我正在尝试向此 MailServicesController 添加一个 UINavigationController(以编程方式),这将允许我推送和弹出另一个视图控制器(LoginController)。我已经实现了代码来做到这一点,但有两个具体问题:
导航控制器将 loginViewController 推送到堆栈顶部,但即使我在 push 方法中将动画 BOOL 设置为 YES,也不会对此转换进行动画处理。
在 loginViewController 中,当我尝试使用 popViewControllerAnimated 时,没有任何反应(我自己制作了弹出按钮,我没有使用导航控制器的导航栏)。
这是我用来在 MailServices 模式视图控制器中创建导航控制器的代码:
self.navigationController = [[UINavigationController alloc]init];
[self.navigationController willMoveToParentViewController:self];
self.navigationController.view.frame = self.view.frame;
[self.view addSubview:self.navigationController.view];
[self addChildViewController:self.navigationController];
[self.navigationController didMoveToParentViewController:self];
[self.navigationController pushViewController:LoginController animated:YES];
//pushes login controller but with no animation
然后在 LoginController 中,我尝试将 LoginController 从顶部弹出以显示我从中推送的控制器:
- (void)dismissView //called by a button in my custom toolbar
{
UINavigationController *navigationController = (UINavigationController
*)self.parentViewController; //this is the navigationController I created
[navigationController popViewControllerAnimated:YES]; //is called but does nothing
}
我不确定我做错了什么,谁能看到我的错误?
【问题讨论】:
-
你在哪里初始化 UINavigation 控制器
-
我只在上面的代码中初始化它
-
您希望在整个应用程序中导航或单独导航这两个类
标签: ios objective-c uiviewcontroller uinavigationcontroller