web-dev-qa-db-ja.com

UIBarButtonItemのタイトルを設定するにはどうすればよいですか?

私は初心者のiPhone開発者です。

UIBarButtonItemのタイトルをプログラムで設定するにはどうすればよいですか?

私のコードは次のとおりです。

self.navigationItem.rightBarButtonItems =
    UIBarButtonItem(
        barButtonSystemItem: .Cancel, target: self,
        action: "barButtonItemClicked:")

@IBAction func barButtonItemClicked(sender: UIBarButtonItem) {
    //print something
}
20
KSL

タイトルを指定できる別の初期化子を使用します。

UIBarButtonItem(title: "title", style: .Plain, target: self, action: "barButtonItemClicked:")

Swift 3.1アップデート

UIBarButtonItem(title: "title", style: .plain, target: self, action: #selector(barButtonItemClicked))
29
Kirsteins

Swift 2の回答

以下をviewDidLoadに追加するだけです:

// Some text
self.barButtonItemClicked.title = "Right Button!"

OR

// 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.
    }

}
13
rvg

私の場合、編集|完了を切り替えたいと思いました。ただし、別のUIBarButtonItemが既にあるため、leftBarButtonItemを使用できませんでした。

私がしたことは次のとおりです:

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 Selectorをカスタム関数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の動作を変更することだけです。

3
Manu

スイフト4:

@IBOutlet var saveButton: UIBarButtonItem!

saveButton.title = "Saved"
2
Joel

ドキュメントから

init(title title: String?,
 style style: UIBarButtonItemStyle,
target target: AnyObject?,
action action: Selector)
0
RyanTCB