无法为自定义栏按钮设置标题?

Posted

技术标签:

【中文标题】无法为自定义栏按钮设置标题?【英文标题】:Unable to set title for custom bar button? 【发布时间】:2016-11-09 13:25:12 【问题描述】:

我在我的应用程序中添加了一个自定义栏按钮。我想设置它的标题,但我无法设置它的标题。我在 swift 3 中使用以下代码。请建议最佳解决方案。

let customButton=UIButton(frame: CGRect(x: 0, y: 0, width: 60, height:30))
customButton.backgroundColor=Constant.Color.customBlue
customButton.titleLabel?.text = "Add"
customButton.titleLabel?.textColor=UIColor.white
let barButton = UIBarButtonItem(customView:customButton)
barButton.title="Add"
barButton.tintColor=UIColor.white
self.navigationItem.rightBarButtonItem=barButton

【问题讨论】:

UIButton 有一个setTitle 方法,你需要使用它。 ***.com/questions/40316352/… 另外,不要改变barButton的属性,因为当你用customView初始化UIBarButtonItem时会被忽略。 如果你不介意可以看看这个***.com/questions/36730787/… 【参考方案1】:

您需要如下设置标题:

 customButton?.setTitle("Add", for:.normal)

【讨论】:

【参考方案2】:

你必须使用这个:

[customButton setTitle:@"Add" forState:UIControlStateNormal];

【讨论】:

【参考方案3】:

试试这个代码:

注意:这是通过操作将 barButton 应用到您的 navigationBar 的更好方法。

 navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Add", style: .plain, target: self, action:  #selector(addTapped))

 func addTapped() 
    //Do your stuff here. After Add button pressed
    print("Add Button Pressed")
 

如果您仍想使用您的代码。添加以下代码以将按钮的标题设置为 KKRocks 答案。

  customButton?.setTitle("Add", for:.normal)

【讨论】:

以上是关于无法为自定义栏按钮设置标题?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的安卓手机在为自定义滚动视图添加标签栏视图后没有功能

为自定义 UITabBarItem 着色

jqGrid 将 URL 设置为自定义按钮

如何将箭头控件设置为自定义按钮

无法使用自定义视图触发栏按钮项?

Paintcode 为自定义按钮生成 iOS 代码(不工作)