0

TabbarControllerにUISplitViewControllerがあります。これは、SplitViewを縦向きモードのままにして、他のビューを横向きに変更し、splitviewタブに戻るまでは正常に機能します。その後、私のコントローラーはwillPresentViewControllerを呼び出そうとしますが、これは次のように失敗します。

2012-11-08 10:08:27.047 app[77747:c07] *** Assertion failure in -[UIPopoverController    _incrementSlideTransitionCount:],
/SourceCache/UIKit_Sim/UIKit-2372/UIPopoverController.m:510

戻ってきたときにスプリットビューが回転しなかったので、それが起こったと思いました。このコントロールhttps://github.com/grgcombs/IntelligentSplitViewControllerを試しましたが、どちらも機能しませんでした。

少しは解決できますが、説明した種類で回転すると、横向きのマスターが常に黒くなるという問題があります。

4

1 に答える 1

1

非アクティブなタブは回転イベントを取得しないため、「タブを離れ、回転し、タブに戻る」全体が面倒な場合があります。

これまで、私はこの問題を解決するために2つの異なる方法を使用しました。

  1. アクティブなタブでなくても、UITabBarControllerローテーションイベントを転送するカスタムサブクラスを作成します。UIViewControllers
  2. ローテーションUIViewControllerについて知る必要のある人に、を使用しNSNotificationCenterてイベントに登録してもらいますUIDeviceOrientationDidChangeNotification

どちらを使用したかは、その情報を追跡するために必要なタブの数によって異なります。1つのタブで情報が必要な場合は、おそらく#2が進むべき方向ですが、5つのうち4つで情報が必要な場合は、おそらく#1が最適です。

于 2012-11-08T14:07:35.557 に答える