从多个视图向 UINavigationBar 添加和删除 UIBarButtonItems
Posted
技术标签:
【中文标题】从多个视图向 UINavigationBar 添加和删除 UIBarButtonItems【英文标题】:Adding and Removing UIBarButtonItems to UINavigationBar from Multiple Views 【发布时间】:2011-05-20 21:47:29 【问题描述】:我目前有一个主窗口设置为 UINavigationController(也是根视图控制器),我有两个视图。第一个视图是登录屏幕,第二个屏幕是表格视图屏幕。我想要发生的是根据显示的屏幕显示不同的 UIBarButtonItems。例如,当显示登录屏幕时,我希望显示导航栏上的左按钮(更具体地说,它是登录前的设置按钮)。用户登录后,我希望左侧按钮说“注销”,右侧是重新加载按钮。我已经尝试以编程方式添加按钮,但它们不会出现。有什么建议吗?
另外,我已经在 IB 中完成了大部分工作,但我觉得以编程方式添加这些按钮可能会更容易。
【问题讨论】:
【参考方案1】:UIViewController
的所有子类都有一个名为 navigationItem
的属性。虽然它是只读的,但您可以更改其properties。所以在LoginViewController
中,你可以在self.navigationItem.leftBarButtonItem = /* Code to create the bar button */
中使用TableViewController
。如果您需要更多详细信息,请告诉我。
【讨论】:
我明白了,我想我会坚持这种方法。我确实读过这个,但它不适合我。谢谢!以上是关于从多个视图向 UINavigationBar 添加和删除 UIBarButtonItems的主要内容,如果未能解决你的问题,请参考以下文章
增加 UINavigationBar 的高度并添加在推送时持续存在的自定义视图
如何将子视图添加到 UIViewController 将 UINavigationBar 推到后面