私は私のアプリ、変更にカスタムナビゲーションコントローラを設定しているnavigationBar
秒titleTextAttributes
、tintColor
その他は異なるシナリオに応じました。
iOS 13でアプリを実行すると、backBarButtonItem
矢印のデフォルトの青の色合いが変わりました。ビューデバッガーは、UIBarButtonItem
s だけにUIImageView
この青い色合いがあることを示しました。
私がやったことはnavigationBar.tintColor
、それを2回設定して色を変更することでした...
public class MyNavigationController: UINavigationController, UINavigationControllerDelegate {
public var preferredNavigationBarTintColor: UIColor?
override public func viewDidLoad() {
super.viewDidLoad()
delegate = self
}
public func navigationController(_ navigationController: UINavigationController, willShow viewController: UIViewController, animated: Bool) {
// if you want to change color, you have to set it twice
viewController.navigationController?.navigationBar.tintColor = .none
viewController.navigationController?.navigationBar.tintColor = preferredNavigationBarTintColor ?? .white
// following line removes the text from back button
self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)
}
解決策を探す際の最も奇妙な部分は一貫性のない結果でした。そのため、ビューライフサイクルや外観のアニメーション、またはXcodeキャッシュに関連していると思います:)