如何为 UIBarButtonItem 设置标题?
How do I set title for UIBarButtonItem?
我是初学者 iPhone 开发人员。
如何以编程方式设置 UIBarButtonItem
的标题?
我的代码如下:
self.navigationItem.rightBarButtonItems =
UIBarButtonItem(
barButtonSystemItem: .Cancel, target: self,
action: "barButtonItemClicked:")
@IBAction func barButtonItemClicked(sender: UIBarButtonItem) {
//print something
}
来自文档
init(title title: String?,
style style: UIBarButtonItemStyle,
target target: AnyObject?,
action action: Selector)
使用允许您指定标题的不同初始化程序:
UIBarButtonItem(title: "title", style: .Plain, target: self, action: "barButtonItemClicked:")
Swift 3.1 更新
UIBarButtonItem(title: "title", style: .plain, target: self, action: #selector(barButtonItemClicked))
Swift 2 个回答
您可以将以下内容添加到 viewDidLoad
:
// Some text
self.barButtonItemClicked.title = "Right Button!"
或
// A Unicode Gear Symbol
// See: http://graphemica.com/%E2%9A%99
self.barButtonItemClicked.title = "\u{2699}"
下面的 ViewController.Swift
代码将设置您使用的名称 barButtonItemClicked
。我使用 UIBarButtonItem 来展示如何设置标题。但是将它改编为一个功能是微不足道的。
import UIKit
class ViewController: UIViewController {
// Please make sure the line below is properly connected to your Storyboard!
@IBOutlet weak var barButtonItemClicked: UIBarButtonItem!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
// Set the text of the NavBarButtonItem Title
self.barButtonItemClicked.title = "Right Button!"
// Gear Icon
// self.barButtonItemClicked.title = "\u{2699}"
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
就我而言,我想在编辑|完成之间切换。
但是,我不能使用 leftBarButtonItem,因为我已经有了另一个 UIBarButtonItem
.
我所做的是:
1- 创建 @IBOutlet weak var edit: UIBarButtonItem!
2- 然后是一个变量来保存状态:var isEditingMode = false
3- 现在在 viewDidLoad
:
override func viewDidLoad() {
…
self.edit.action = #selector(self.toogleEditor(_:))
self.edit.title = "Edit"
self.setEditing(isEditingMode, animated: true)
…
}
我将 edit.action 选择器初始化为我的自定义函数 toogleEditor
。我希望能够在发生动作时更改标题。
4- 创建一个 IBAction:
@IBAction func toogleEditor(sender: AnyObject) {
if isEditingMode
{
isEditingMode = false
self.edit.title = "Edit"
}
else
{
isEditingMode = true
self.edit.title = "Done"
}
self.setEditing(isEditingMode, animated: true)
}
每次用户单击 UIBarItemButton
时都会触发此函数。
唯一要做的就是使用 setEditing(…)
来改变 UITableViewController
.
的行为
Swift 4:
@IBOutlet var saveButton: UIBarButtonItem!
saveButton.title = "Saved"
如果有人想知道如何从情节提要中做到这一点:
尝试在“Attributes Inspector”中编辑“Title”属性,如下所示:
我是初学者 iPhone 开发人员。
如何以编程方式设置 UIBarButtonItem
的标题?
我的代码如下:
self.navigationItem.rightBarButtonItems =
UIBarButtonItem(
barButtonSystemItem: .Cancel, target: self,
action: "barButtonItemClicked:")
@IBAction func barButtonItemClicked(sender: UIBarButtonItem) {
//print something
}
来自文档
init(title title: String?,
style style: UIBarButtonItemStyle,
target target: AnyObject?,
action action: Selector)
使用允许您指定标题的不同初始化程序:
UIBarButtonItem(title: "title", style: .Plain, target: self, action: "barButtonItemClicked:")
Swift 3.1 更新
UIBarButtonItem(title: "title", style: .plain, target: self, action: #selector(barButtonItemClicked))
Swift 2 个回答
您可以将以下内容添加到 viewDidLoad
:
// Some text
self.barButtonItemClicked.title = "Right Button!"
或
// A Unicode Gear Symbol
// See: http://graphemica.com/%E2%9A%99
self.barButtonItemClicked.title = "\u{2699}"
下面的 ViewController.Swift
代码将设置您使用的名称 barButtonItemClicked
。我使用 UIBarButtonItem 来展示如何设置标题。但是将它改编为一个功能是微不足道的。
import UIKit
class ViewController: UIViewController {
// Please make sure the line below is properly connected to your Storyboard!
@IBOutlet weak var barButtonItemClicked: UIBarButtonItem!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
// Set the text of the NavBarButtonItem Title
self.barButtonItemClicked.title = "Right Button!"
// Gear Icon
// self.barButtonItemClicked.title = "\u{2699}"
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
就我而言,我想在编辑|完成之间切换。
但是,我不能使用 leftBarButtonItem,因为我已经有了另一个 UIBarButtonItem
.
我所做的是:
1- 创建 @IBOutlet weak var edit: UIBarButtonItem!
2- 然后是一个变量来保存状态:var isEditingMode = false
3- 现在在 viewDidLoad
:
override func viewDidLoad() {
…
self.edit.action = #selector(self.toogleEditor(_:))
self.edit.title = "Edit"
self.setEditing(isEditingMode, animated: true)
…
}
我将 edit.action 选择器初始化为我的自定义函数 toogleEditor
。我希望能够在发生动作时更改标题。
4- 创建一个 IBAction:
@IBAction func toogleEditor(sender: AnyObject) {
if isEditingMode
{
isEditingMode = false
self.edit.title = "Edit"
}
else
{
isEditingMode = true
self.edit.title = "Done"
}
self.setEditing(isEditingMode, animated: true)
}
每次用户单击 UIBarItemButton
时都会触发此函数。
唯一要做的就是使用 setEditing(…)
来改变 UITableViewController
.
Swift 4:
@IBOutlet var saveButton: UIBarButtonItem!
saveButton.title = "Saved"
如果有人想知道如何从情节提要中做到这一点:
尝试在“Attributes Inspector”中编辑“Title”属性,如下所示: