如何更改在界面生成器中创建的 UINavigationBar 的标题
Posted
技术标签:
【中文标题】如何更改在界面生成器中创建的 UINavigationBar 的标题【英文标题】:How can I change the title of UINavigationBar Created in Interface builder 【发布时间】:2010-07-01 23:19:20 【问题描述】:问题是我在界面生成器中创建了一个 UINavigationBar,我想更改标题。导航栏未连接到我的 UINavigation 控制器。有什么方法可以让导航栏独立于我的 Nib 来实现这一点?
我的问题的第二部分是对 UINavigationBars 如何工作的一般理解。我不明白导航项堆栈是如何工作的。例如,如果我想将右侧按钮项更改为“完成”而不是“编辑”怎么办?我的理解是左,中,右栏按钮项目在堆栈上?但是我怎么知道哪个项目在堆栈中的哪个位置。如果我在这里遗漏了一些基本的东西,我很抱歉,但我需要澄清一下左、中和右栏按钮项目是如何管理的,以及堆栈是如何工作的。提前致谢。
【问题讨论】:
【参考方案1】:您可以在导航栏中使用自定义titleView
,在其中添加了带有您选择的文本的UILabel
。
阅读 Apple 的 View Controller Programming Guide for iPhone OS 文档的“配置导航项对象”部分,了解有关如何自定义导航栏的更多信息。
【讨论】:
他在询问如何在 Interface Builder 中执行此操作。似乎没有办法——我对如何在 IB 中做到这一点也很感兴趣。【参考方案2】:为您在界面生成器中创建的 UINavigationBar 创建一个 IBOutlet
@property (weak, nonatomic) IBOutlet UINavigationBar *navigationBar;
然后更改标题
self.navigationBar.topItem.title = @"My Custom Title";
【讨论】:
【参考方案3】:UINavigationController 是 UIViewController 的子类,但与 UIViewController 不同的是,它通常并不意味着您要继承子类。这是因为导航控制器本身很少在导航栏的视觉效果之外进行自定义。
UINavigationController 的实例可以相对容易地在代码或 XIB 文件中创建。它被认为是一个堆栈:它有一个根视图控制器,然后可以将新的视图控制器推入堆栈(通常当用户点击表格中的一行时)或弹出堆栈(通常通过按下后退按钮)。
根视图控制器可以通过拖动导航控制器下的视图控制器在 XIB 中设置,或者在创建时使用 initWithRootViewController 在代码中设置。
导航堆栈
四种方法用于在堆栈中导航用户:
--pushViewController:animated: – popViewControllerAnimated: – popToRootViewControllerAnimated: – popToViewController:动画:
【讨论】:
以上是关于如何更改在界面生成器中创建的 UINavigationBar 的标题的主要内容,如果未能解决你的问题,请参考以下文章
如何更改在 Google App Inventor 中创建的 android 应用程序的图标?
在 Interface Builder 中显示在代码中创建的 UIButton