問題があります。 私のアプリはタブバーコントローラで、最初のビューコントローラは分割ビューコントローラです。 ドキュメントはスプリットボイスコントローラがルートでなければならないと言っているので、これはアップルにとってはうまくいかないと思われるので、おそらくそれが私の問題の原因です。UISplitViewControllerDelegateからwillHideViewControllerが呼び出されない場合があります。
問題はUISplitViewControllerDelegateからwillHideViewControllerが呼び出されないことがあるためです。このため、上/左ボタンが作成されないことがあります。 このエラーを再現するには、これを数回試してください: - ランドスケープモード。 - スプリットビューコントローラタップとは異なるタブを選択します。 - iPadをそのタブのポートレートに移動します。 - Split View Controllerタブに移動し、willHideViewControllerが呼び出されないことがあるので、上のボタンは表示されません。しかし、iPadを横向きにしてから肖像画に回すと修正されます。
私は手動でこの問題を回避するためにいくつかの回転を強制しようとしましたが、運はありません。 私はまだgithubまたはそれに類するものからスプリットビューコントローラのクローンクラスを試す必要があります。 あなたは何が起こっているのか、何か回避しているか考えていますか?
ここでは、正しく動作する2つの例を示します。
ありがとうございます。
こんにちは、まったく同じ問題を抱えていますが、これでどこにいらっしゃいましたか?私は、必要なのは、すべてのタブでwillShow ... willHide呼び出しを広める方法だと思います。かなり心配しています... – Snips
ここでも同じ問題があり、 'UITabBarController'の中の' UISplitViewController'もあります。私のアプリケーションでは、 'UISplitViewController'の振る舞いは、アプリケーションが起動する方向に依存します。しかし、アプリケーションがポートレートで起動した場合、シナリオは正常に動作し、アプリが横向きに回転しているときに問題が発生します( 'UISplitViewController'は' willShowViewController:invalidatingBarButtonItem: 'delegateメソッドを呼び出しません)。 – herzbube