使用UINavigationBar在视图之间切换

时间:2011-03-08 19:34:33

标签: iphone objective-c xcode uinavigationbar

我回到了试图做到这一点的hello world教程。我似乎无法通过某种原因弄清楚这一点,但它应该是如此简单。

我想在右侧有一个带按钮的UINavigationBar。当用户按下此按钮时,它会通过滑动到侧面的动画将它们带到第二个视图,在这个新视图中,导航栏会显示前一个视图的后退按钮。

我怎样才能实现这一目标?我不能为我的生活弄清楚。是否有某个教程可以解决它?我找不到一个。

2 个答案:

答案 0 :(得分:3)

您应该创建一个UIVavigationController,并将UIViewController作为根。在UIViewController中你应该设置右键按钮。你应该有类似的东西:

self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] 
                        initWithTitle: @"Next"
                        style:UIBarButtonItemStyleDone 
                        target:self 
                        action:@selector(nextPage:)] 
                        autorelease];

当你触摸按钮时,方法nextPage:将被调用,并将执行推送新视图。

-(void)nextPage:(id)sender
{
   UIViewController *secondViewController = [[UIViewController alloc] init];
   [self.navigationController pushViewController:secondViewController animated:YES];
   [secondViewController release];
}

这是一个使用UINavigationController的两个部分的教程,而here是UINavigationController的官方文档(非常有用)。

答案 1 :(得分:0)

在按钮操作(选择器)上,在self.navigationController上使用以下消息

 pushViewController:secondViewController animated:YES

编辑:按如下方式创建UINavigationController:

UINavigationController* navController = [[UINavigationController alloc] initWithRootViewController:rootViewController];

然后根据索林在他的回答中提出的要求设置正确的按钮。并在self.navigationController上使用pushViewController:animated:message,因为我已在我的原始答案中发布。希望能帮助到你。 rootViewController是您希望作为导航堆栈上的第一个视图推送的视图控制器。