私はストーリーボードに基本的なナビゲーション設定を持っています:UINavigationController
に埋め込まれたバニラUIViewController
です。私のメインVCには、それぞれUIViewController
サブクラスになる2つのボタンがあります:LabelledVC
。サブクラスのviewDidAppear(_:)
方法では、私は、ナビゲーションアイテムのtitleView
カスタムイメージの設定:のLabelledVC
何らかの理由でviewDidAppear()はビューコントローラがナビゲーションスタックにプッシュされる前に呼び出されます
class LabelledVC: UIViewController {
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
let logoImage = UIImage(named: "apple")
let logo = UIImageView(image: logoImage)
logo.contentMode = .scaleAspectFit
logo.frame = CGRect(x: 0, y: 0, width: 32, height: 32)
navigationItem.titleView = logo
}
}
をviewDidAppear(_:)
方法は、(それがナビゲーションスタックにプッシュされ前)とき、アプリケーションのロードと呼ばれていますそれは私には意味をなさない。プロジェクトhereが見つかります。
プロジェクトでは、** ViewController **はLabelledVCによってサブクラス化されています。 –