よくある、UINavigationBar の UINavigationItem のタイトルと画像を切り替える方法のメモ。
UIImageView を配置して、表示・非表示の切り替えを無理矢理やっていましたが、普通にできました…
import UIKit class viewController: UIViewController { @IBOutlet weak var navItem: UINavigationItem! override func viewDidLoad() { super.viewDidLoad() self.setLogo() // self.setTitle(title: "Title") } /** Set the logo image */ func setLogo() { if let image: UIImage = UIImage(named: "logo") { let logoImageView: UIImageView = UIImageView(image: image) self.navItem.titleView = logoImageView } } /** Set the title */ func setTitle(title: String) { self.navItem.titleView = nil self.navItem.title = title } }
適当なタイミングで呼び出します。
UINavigationItem に titleView を設定した後、普通の title に戻したい場合は、titleView に nil を渡します。
特に難しいことはなく、知っておくべきことでした…