很抱歉,如果我的标题太可怕了,我试图创建一个像ios中的邮件一样弹出的导航控制器,如下所示:
答案 0 :(得分:0)
一个简单的解决方案(因此它可能不是编程最正确的,我不确定),可以在父ViewController中设置ViewController(一个像邮件一样出现,一个在他后面),并管理他们的视图喜欢。
我做得很快:
两个ViewController都可以工作,当然你可以禁用底部的一个并在图像中设置灰色视图。
代码:
在底部ViewController中创建一个新的NavigationController,其中包含您要推送的ViewController,然后将其添加为第一个的子节点:
nav = [[UINavigationController alloc] initWithRootViewController:[VcWithNavViewController new]];
[nav.view setFrame:CGRectMake(self.view.bounds.origin.x, self.view.bounds.size.height, self.view.bounds.size.width, 500)];
[self addChildViewController:nav];
[self.view addSubview:nav.view];
[nav didMoveToParentViewController:self];
然后在时机成熟时简单地将该孩子的视图设置为动画:
- (void) popViewController {
[UIView animateWithDuration:2 delay:5 options:UIViewAnimationOptionCurveEaseInOut animations:^{
[nav.view setFrame:CGRectMake(0, 200, self.view.bounds.size.width, 500)];
} completion:nil];
}