私のアプリには複数のビュー コントローラーがあり、そのほとんどには右側UIBarButtonItem
に直接「表示」セグエ アクションがアタッチされています。
別のビューに切り替えて'< Back'
ボタンを押すと、元のボタン項目はフェードアウトしたままになりますが、それ以外はまだ使用できます。
これは iOS 11.2 でのみ発生するようです。
これを実行する設定は見当たりません。また、これが発生するケースの少なくとも 1 つでは、特定の segue の解除やviewDidAppear
処理は行われません。いくつかコードを投稿しますが、私の知る限り、すべてデフォルトの動作ですUINavigationBar
。
ベストアンサー1
これは iOS 11.2 のバグであり、UIBarButtonItem
ナビゲーション後にハイライト表示されたままになり、他のビュー コントローラーがポップした後も通常の状態に戻らないために発生します。
この動作を回避するには、
UIBarButtonItem
をUIButton
カスタムビューとして使用するバーボタン項目を無効にしてから再度有効にします
viewWillDisappear(_:)
(これによりボタンがすぐに表示されますが、マットの解決策これを避けるには):barButtonItem.isEnabled = false barButtonItem.isEnabled = true