iOS5:如何在没有UINavigationController的情况下处理视图之间的导航

iOS5:如何在没有UINavigationController的情况下处理视图之间的导航,ios5,uiviewcontroller,uinavigationcontroller,Ios5,Uiviewcontroller,Uinavigationcontroller,我正在尝试在我的iPad应用程序中创建一个自定义侧栏导航窗格,类似于Instapaper for iPad。在一些优秀教程的帮助下,我能够创建一个自定义侧栏并在视图控制器之间切换 我使用一个根视图控制器实现了这一点,其中我有两个视图-一个是tabbar视图,另一个表示与所选选项卡关联的内容,类似于这样 @implementation RootViewController // // some code here // #define TABBAR_WIDTH 80.0F - (void)bu

我正在尝试在我的iPad应用程序中创建一个自定义侧栏导航窗格,类似于Instapaper for iPad。在一些优秀教程的帮助下,我能够创建一个自定义侧栏并在视图控制器之间切换

我使用一个根视图控制器实现了这一点,其中我有两个视图-一个是tabbar视图,另一个表示与所选选项卡关联的内容,类似于这样

@implementation RootViewController

//
// some code here
//

#define TABBAR_WIDTH 80.0F
- (void)buttonTapped:(UIButton *)aButton
{
    UIViewController *newVC = [self.storyboard instantiateViewControllerWithIdentifier:@"SomeView"];
    [newVC.view setFrame:CGRectMake(TABBAR_WIDTH, 0, self.view.bounds.size.width - TABBAR_WIDTH, self.view.bounds.size.height)];
    [self addSubView:newVC.view];
}

每当我选择选项卡时,我只需将子视图添加到
根视图控制器
,如下所示

@implementation RootViewController

//
// some code here
//

#define TABBAR_WIDTH 80.0F
- (void)buttonTapped:(UIButton *)aButton
{
    UIViewController *newVC = [self.storyboard instantiateViewControllerWithIdentifier:@"SomeView"];
    [newVC.view setFrame:CGRectMake(TABBAR_WIDTH, 0, self.view.bounds.size.width - TABBAR_WIDTH, self.view.bounds.size.height)];
    [self addSubView:newVC.view];
}
现在,我想做的是将一个新视图推到
内容中,它不是基于选项卡选择,而是基于内容视图中的一些交互。我的解决方法是在superview中添加另一个子视图。但是,在这种情况下,我必须自己实现视图之间的按下、弹出、后退按钮和动画

我想知道我是否可以使用UINavigationController来实现这个场景(这样按下、弹出、返回按钮就会自动神奇地处理)


有人能解释一下这个话题吗?甚至可以简单概述一下如何在中实现这一点,这会有所帮助。

这里需要在容器视图中进行导航

所以你可以用这个东西:

  • 有一个navigationController(alloc init set frame navigation bar hidden等),将content1视图控制器作为根控制器
  • 在Content1视图控制器中的按钮点击事件中,只需将导航控制器按到Content2视图控制器,并对pop事件执行相同操作
  • Alloc-在根控制器中初始化导航控制器,在根控制器中有自定义选项卡和容器视图

    注意:在添加任何其他视图之前,请清除容器视图

    我已经完成了这个场景,所以对我来说效果很好

    希望这是你所需要的


    享受编码:)

    那么你是说我不是在root的视图中添加子视图,而是在rootVC的导航控制器上推送视图控制器?按下视图控制器时,自定义选项卡栏视图如何保持可见?否。。首先将contentview1添加到navigationController(根视图控制器类中的alloc init)。然后将该navController作为添加子视图添加到root的containerView中。现在,在ContenView 1中,您可以像使用navigationcontroller一样切换到其他viewController。请您进行同样的投票,如果您满意,也可以进行悬赏工作。。提前感谢……:)已投赞成票。:)赏金需要一些时间(我想大概一天左右)。