向导航栏添加另一个按钮

Posted

技术标签:

【中文标题】向导航栏添加另一个按钮【英文标题】:Add another button to navigation bar 【发布时间】:2015-11-17 18:19:53 【问题描述】:

我正在修改一个应用程序,该应用程序的导航栏中有一些按钮,我想通过将其拖动到层次结构中来添加另一个按钮或 Bar Button 项,但似乎我无法将其作为子项添加到导航吧,我想问你有没有解决方案,这是故事板层次结构的快照,我想在导航项中添加另一个 Bar Button Item 或另一个 Button。 谢谢

【问题讨论】:

没有图片,请上传图片。 非常感谢我附上了 【参考方案1】:

所以我刚刚创建了一个空白项目,我可以这样做:

在我实际使用 UIButton 而不是条形按钮项获得一些额外的可定制性之前,我也做过类似的事情。只需确保为按钮设置了一个出口,并在视图控制器中调用self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:self.customButton];

您可以有多个右栏按钮项目,如果它们与标题重叠(如果有的话),那么它们基本上被剪裁了。据我了解,您可以拥有任意数量的按钮,直到空间消失(显然,这可能因设备而异)。相关文档:

此数组可以包含 0 个或多个条形按钮项以显示在右侧 导航栏。项目按照它们在数组中出现的顺序从右到左显示。因此,数组中的第一项是最右边的项,其他项被添加到前一项的左侧。

如果没有足够的空间来显示数组中的所有项目,那些与标题视图(如果存在)或栏左侧按钮重叠的项目不会 显示出来。

一个有很多按钮的例子:

您可以通过编程方式添加按钮:

navigationItem.rightBarButtonItems = [aButton, anotherButton, awesomeButton]

只要确保您测试的是,如果您添加大量按钮,您所针对的最小设备仍然可以为用户提供良好的用户体验。

【讨论】:

哇,谢谢哥们,GIF 太棒了。可以有超过 3 个项目吗?因为我正在处理的项目已经有 2 个按钮和一个图像,而我想要做的是添加第三个按钮。谢谢阿金 @m0j1 你当然可以有第三个右键项目。我已经用更多细节更新了我的答案。【参考方案2】:

这是 swift 的正确答案:

let barButton_array: [UIBarButtonItem] = [Button1, Button2]
navigationItem.setRightBarButtonItems(barButton_array, animated: false)

【讨论】:

【参考方案3】:

使用 Interface Builder,您似乎只能在导航栏上拥有 3 个元素,并且您必须通过代码添加更多按钮。这个链接对我有用:http://mandarapte.com/apple/add-navigation-bar-buttons-ios-app-xcode-project/

【讨论】:

以上是关于向导航栏添加另一个按钮的主要内容,如果未能解决你的问题,请参考以下文章

导航栏按钮项目“撰写”在转场期间向右移动

向导航栏添加渐变将隐藏 iOS 13.0 + 中的栏按钮项目

如何向现有的故事板添加后退按钮和导航栏?

Swift 3.0 向导航栏添加右键

如何将导航栏按钮添加到选择器

向移动视图上的引导导航栏切换按钮添加文本提示