如何更改“接口”构建器中创建的UINavigationBar的标题

时间:2010-07-01 23:19:21

标签: iphone uinavigationbar uinavigationitem

问题是我在界面构建器中创建了一个UINavigationBar,我想更改标题。导航栏未连接到我的UINavigation控制器。有什么方法可以通过导航栏作为我的笔尖独立来实现这一点吗?

我的问题的第二部分更全面地了解了UINavigationBars的工作原理。我不明白导航项的堆栈是如何工作的。例如,如果我想更改右键按钮项以说“完成”而不是“编辑”怎么办?我的理解是左侧,中间和右侧的条形按钮项目在堆栈中?但是我怎么知道哪个项目在堆栈的哪个位置。如果我在这里缺少一些基本内容,我很抱歉,但我需要澄清左,中,右栏按钮项目的管理方式,以及堆栈如何工作。提前谢谢。

3 个答案:

答案 0 :(得分:3)

您可以在导航栏中使用自定义titleView,其中添加了UILabel,其中包含您选择的文字。

阅读Apple View Controller Programming Guide for iPhone OS文档的“配置导航项目对象”部分,了解有关如何自定义导航栏的更多信息。

答案 1 :(得分:1)

UINavigationController是UIViewController的子类,但与UIViewController不同,它通常不适合您进行子类化。这是因为导航控制器本身很少在导航栏的视觉效果之外进行自定义。

可以相对轻松地在代码或XIB文件中创建UINavigationController的实例。它被认为是一个堆栈:它有一个根视图控制器,然后新的视图控制器可以被推入堆栈(通常当用户点击表中的一行时)或弹出堆栈(通常通过按下后退按钮) )。

可以通过拖动导航控制器下的视图控制器在XIB中设置根视图控制器,也可以在创建时使用initWithRootViewController在代码中设置。

导航堆栈

使用四种方法在堆栈中导航用户:

- pushViewController:动画: - popViewControllerAnimated: - popToRootViewControllerAnimated: - popToViewController:animated:

答案 2 :(得分:1)

创建您在界面构建器

中创建的此UINavigationBar的非IBOutlet
@property (weak, nonatomic) IBOutlet UINavigationBar *navigationBar;

然后用

更改标题
self.navigationBar.topItem.title = @"My Custom Title";