如何设置右侧导航栏按钮标题

Posted

技术标签:

【中文标题】如何设置右侧导航栏按钮标题【英文标题】:How to set right navigation bar button title 【发布时间】:2014-07-21 16:47:14 【问题描述】:

如何以编程方式设置右侧导航栏按钮的标题。我试过了

[self.navigationItem.rightBarButtonItem setTitle:@"Test"];

并且还尝试为按钮创建一个插座,然后尝试为其分配一个值。

self.rightBarButton.titleLabel.text = @"Test";

【问题讨论】:

【参考方案1】:

试试这个:

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Test" style:UIBarButtonItemStylePlain target:target action:action];

【讨论】:

【参考方案2】:

对于 Swift 使用这个,

self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Title", style: UIBarButtonItemStyle.Plain, target: self, action: Selector("methodName"))

使用这个设置标题的颜色,

self.navigationItem.rightBarButtonItem?.tintColor = UIColor.whiteColor()

【讨论】:

【参考方案3】:

请试试这个,它有效:

    self.navigationItem.rightBarButtonItem.title = @"New Title";

【讨论】:

【参考方案4】:

这是 Swift 3 的简单选项:

let rightButton = self.editButtonItem
rightButton.title = "My Button"
self.navigationItem.rightBarButtonItem = rightButton

【讨论】:

【参考方案5】:

这适用于 swift 3:

navigationItem.rightBarButtonItem?.title = "Test"

但按钮必须是自定义类型,否则不起作用。

【讨论】:

【参考方案6】:

对于单个导航按钮

self.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(yourFunctionWithObjcKeyword))

对于多个导航按钮

let add = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(yourFunctionWithObjcKeyword))

let edit = UIBarButtonItem(barButtonSystemItem: .edit, target: self, action: #selector(yourFunctionWithObjcKeyword))

self.navigationItem.rightBarButtonItems = [add, edit]

注意:您必须将控制器嵌入 UINavigationController 才能使上述代码正常工作。在 UITableViewController 和 UICollectionViewController 的情况下,此代码不起作用。

【讨论】:

以上是关于如何设置右侧导航栏按钮标题的主要内容,如果未能解决你的问题,请参考以下文章

如何淡出导航栏的最右侧并向其添加新按钮

以编程方式将按钮添加到导航栏

Bootstrap 4将两个导航栏菜单按钮对齐到右侧[重复]

为啥导航栏列表不在右侧?

iPhone 5横向模式下,导航栏右侧的按钮停止工作,如何解决?

如何在导航栏中将导航项对齐到右侧? [复制]