问题是我在界面构建器中创建了一个UINavigationBar,我想更改标题。导航栏未连接到我的UINavigation控制器。有什么方法可以通过导航栏作为我的笔尖独立来实现这一点吗?
我的问题的第二部分更全面地了解了UINavigationBars的工作原理。我不明白导航项的堆栈是如何工作的。例如,如果我想更改右键按钮项以说“完成”而不是“编辑”怎么办?我的理解是左侧,中间和右侧的条形按钮项目在堆栈中?但是我怎么知道哪个项目在堆栈的哪个位置。如果我在这里缺少一些基本内容,我很抱歉,但我需要澄清左,中,右栏按钮项目的管理方式,以及堆栈如何工作。提前谢谢。
答案 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";