iOS - 如何在视图控制器中创建导航栏项?

时间:2011-08-31 18:37:05

标签: iphone ios uinavigationcontroller

我一直在尝试创建导航栏后退按钮。

这是我的代码: -

UIBarButtonItem *barButton = [[[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleBordered target:self action:nil]autorelease];
self.navigationItem.rightBarButtonItem = barButton;

但它没有在导航栏上显示任何内容。

我使用的是UIViewController,而不是UINavigationController。

UINavigationController是实现此目的的唯一方法吗?

任何帮助都会非常感激。

任何指向优秀教程的链接都会很棒。

感谢。

6 个答案:

答案 0 :(得分:5)

如果没有具有导航控制器的viewcontroller(即viewController.navigationController!= nil),则无法以这种方式添加它。

你可以做的一件事是,如果它是由笔尖创建的,只需将一个条形按钮项拖到导航栏中并通过IBAction链接它。

答案 1 :(得分:5)

我建议将这个视图控制器从nvigationcontroller中推出 - 你将免费获得所有这些东西:

UIViewController *vc = [[UIViewController alloc] initWithNibName:nil bundle:nil];
UINavigationController *navCntrl1 = [[UINavigationController alloc] initWithRootViewController:vc];

答案 2 :(得分:3)

如果从Interface Builder中的NIB文件创建视图控制器,并且视图控制器的设计图面上有导航栏,最简单的方法是从对象检查器中拖动一个条形按钮项直接进入导航栏的右侧。然后,您将在标题和实现中创建一个IBAction,您可以将其连接起来。

答案 3 :(得分:1)

我实现了直接在UINavigationBar中插入按钮:

[yourUINavBar insertSubview:yourButton atIndex:1];

答案 4 :(得分:0)

UIViewController的-navigationItem方法只能与UINavigationController或其他UIViewController包含一起使用。 您必须访问UINavigationBar并直接设置项目。

答案 5 :(得分:0)

如果您想要一个导航栏,并让它按预期工作,请使用您的UIViewController作为根视图控制器创建一个UINavigationController。现在使用你正在使用UIViewController的UINavigationController。

查看developer.apple.com上的UINavigationController了解详情。