私はUINavigationBar
のサブクラスを持っていますが、このUINavigationBar
サブクラスを使用するUINavigationController
のサブクラスにしたいと思います。私はすでにそのナビゲーションバークラスとしての私のカスタムナビゲーションバーを設定し、ナビゲーションバーUINavigationControllerサブクラスでUINavigationBarサブクラスを設定する
let navController = UINavigationController(navigationBarClass: CustomNavigationBar.self, toolbarClass: nil)
しかし、私はUINavigationController
(プログラム的に)カスタムを作成することができるようにしたいカスタムを使用するデフォルトUINavigationController
を設定する方法を知っています。私はこのリンクでそれを行う方法を見てきましたが、それはちょっと日付がついているようです(2012)と 'ハッキーAF' - https://stackoverflow.com/a/9610801/2654425。私はUINavigationController
のナビゲーションバークラスを設定することによって 'ストーリーボード'でそれを行う方法を知っていますが、私はこれを私のカスタムUINavigation Controllerでプログラムで実行したいと思います。
class CustomNavigationBar: UINavigationBar {
override init(frame: CGRect) {
super.init(frame: frame)
}
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)!
}
override func draw(_ rect: CGRect) {
self.backgroundColor = UIColor.red
}
}
class CustomNavigationController: UINavigationController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
イムわからないカスタムナビゲーションバーを設定するには:
は、ここで基本的なUINavigationBar
とUINavigationController
サブクラスです。どんな助けでも大歓迎です。 :)
viewDidLayoutSubViewsメソッドを追加しようとしています。 –