带有图像和标题的 UIBarButtonItem 初始化程序不显示标题

Posted

技术标签:

【中文标题】带有图像和标题的 UIBarButtonItem 初始化程序不显示标题【英文标题】:UIBarButtonItem Initializer with Image and Title does not show Title 【发布时间】:2021-02-19 05:46:20 【问题描述】:

我在工具栏上使用 UIBarButtonItem Apple Documentation 的 init(title:image:primaryAction:menu:),希望显示一个带有图像和标题的按钮。有谁知道为什么标题不显示? 我不是在寻找可以添加带有标题和图像的 UIBarButtonItem 的自定义实现。我在 *** 上看到了很多。如果它有效,我只想使用这个初始化程序。

我有一个 UITableViewController 子类,我已将此代码添加到 viewDidLoad

navigationController?.isToolbarHidden = false
let barButtonItem = UIBarButtonItem(title: "New Item", image: UIImage(systemName: "plus.circle.fill"), primaryAction: nil, menu: nil)
toolbarItems = [barButtonItem]

【问题讨论】:

【参考方案1】:

尝试为您的导航栏按钮分配一个自定义按钮,在您的控制器类下声明您的按钮:

let myButton = UIButton(type: .system)

现在在 viewDidLoad 中为您的自定义按钮设置标题并将其分配给导航栏:

myButton.setImage(UIImage(systemName: "square.and.arrow.up"), for: .normal)
myButton.setTitle(" your text", for: .normal)
myButton.sizeToFit()
myButton.addTarget(self, action: #selector(yourFunctionAction), for: .touchUpInside)
navigationItem.rightBarButtonItem = UIBarButtonItem(customView: myButton)

【讨论】:

谢谢!但正如我在我的问题中提到的那样,我之前在 *** 上看到过许多这样的答案,其中的自定义实现是你的。这没有什么问题,但这不是我的问题。我想看看为什么特定的 Apple 提供的初始化程序不起作用。

以上是关于带有图像和标题的 UIBarButtonItem 初始化程序不显示标题的主要内容,如果未能解决你的问题,请参考以下文章

带有图像的 UIBarButtonItem 不显示

带有图像和标题的 UIBarButtonItem 初始化程序不显示标题

带有图像和文本的 UIBarButtonItem

将 UIBarButtonItem 与图像或系统预设一起用于 SplitView/Popover 控件

带有“更多”按钮样式的 UIBarButtonItem

设置 UIBarButtonItem 的背景图像以编程方式更改其大小