ポップオーバーを表示しているとき、私はポップオーバーの外にあるすべてのビューが淡色表示になることを期待しています。 IB経由でポップオーバーを作成すると、これはうまく動作します。私がPopoverをプログラムで作成し、UIBarButtonItem経由で呼び出すと、これはうまくいきません。ナビゲーションバーのバックシェブロンは淡色表示されません。代わりに、それは青のまま:UINavigationBarのシェブロンがポップオーバーを表示しているときに淡色表示されない
コード:
class GreenViewController: UIViewController {
private var barButtonItem: UIBarButtonItem!
func barButtonItemAction() {
let blueViewController = BlueViewController()
let navigationController = UINavigationController(rootViewController: blueViewController)
navigationController.modalPresentationStyle = .popover
navigationController.popoverPresentationController?.barButtonItem = self.barButtonItem
self.present(navigationController, animated: true, completion: nil)
}
override func viewDidLoad() {
super.viewDidLoad()
self.barButtonItem = UIBarButtonItem(title: "Show blue popover", style: .plain, target: self, action: #selector(barButtonItemAction))
self.navigationItem.rightBarButtonItem = barButtonItem
}
}
これはなぜ起こるのでしょうか? Githubの上
テストプロジェクト: https://github.com/bvankuik/TestNavigationBarChevronTint/
バムを、役立ちます!驚くばかり!このことは、長い間私の嫌な思いをしていました。 –
@BartvanKuikああああ、本当にあなたがどこから来ているのか理解している – AntonTheDev