概要
IBOutlet で参照している UIBarButtonItem の title を変更する場合は button.title = "hoge"
のようにします
しかしなぜか変わらないケースがあったので対処方法を紹介します
環境
- Swift5
- Xcode 12.4 (12D4e)
title を変更するサンプルコード
例えば以下のようなコードがあるとします
本来であれば Edit <-> End とタイトルが変わります
@IBAction func edit(_ sender: AnyObject) {
if (self.tableView.isEditing) {
self.tableView.isEditing = false
editButton.title = "Edit"
} else {
self.tableView.isEditing = true
editButton.title = "End"
}
}
StoryBoard で BarButtonItem の設定を確認する
原因は BarButtonItem の属性でした
StoryBoard 上で「System Item」の値を Custom
に変更したところちゃんとタイトルが動的に変更されるようになりました
StoryBoard 上で Title 属性をあらかじめ設定しておくと System Item も自動的に Custom に変更されるようです
0 件のコメント:
コメントを投稿