objective-c - 从多个 View 向 UINavigationBar 添加和删除 UIBarButtonItems

标签 objective-c ios uinavigationcontroller uibarbuttonitem mainwindow

我目前有一个主窗口设置为 UINavigationController (也是 Root View Controller ),并且我有两个 View 。第一个 View 是登录屏幕,第二个屏幕是表格 View 屏幕。我希望发生的是根据显示的屏幕显示不同的 UIBarButtonItems。例如,当显示登录屏幕时,我希望在导航栏上显示一个左侧按钮(更具体地说,它是登录前的“设置”按钮)。用户登录后,我希望左侧按钮显示“注销”,右侧按钮显示“重新加载”按钮。我尝试以编程方式添加按钮,但它们不会显示。有什么建议吗?

此外,我已经在 IB 中完成了大部分工作,但我觉得以编程方式添加这些按钮可能会更容易。

最佳答案

UIViewController 的所有子类都有一个名为 navigationItem 的属性。 .虽然它是只读的,但您可以更改其 properties .因此,在 LoginViewController 中,您将执行 self.navigationItem.leftBarButtonItem =/* Code to create the bar Button */ ,在 TableViewController 中也是如此。如果您需要更多详细信息,请告诉我。

关于objective-c - 从多个 View 向 UINavigationBar 添加和删除 UIBarButtonItems,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6077887/

相关文章:

ios - 从NSDictionary检索 key

javascript - 在 iOS 版本的 trigger.io 应用程序中键入文本字段会导致除背景之外的所有内容消失

ios - App在iPad的App Store中不可见

iphone - UINavigationController:相反方向的弹出 View Controller

iOS 在 UINavigationController 项中显示箭头后退按钮

iOS 如何通过导航 Controller 中的“编辑”按钮自定义事件?

ios - 以编程方式自动将整数添加到 UILabel 中?可能的?

objective-c - 当对象在里面时 UIScrollView 不滚动

objective-c - 在 block 保留周期中调用函数

ios - 在 Swift 中从字符串中提取某些文本