4

UIButton アクションで別のモーダル UIViewController B を開く UIViewController A があります。

私の質問は次のとおりです。現在のモーダル UIViewController B が開いていて回転した場合、以前の UIViewController A はまったく回転しません。これは、UIViewController B を閉じると、UIViewController A がまだ古い状態のままであることを意味します (古いインターフェイスの向きがまだ残っています)。現在、B が回転するときに A のメソッドを呼び出して、A を強制的に回転させています。

回転について他のView Controllerに通知する別の一般的な方法はありますか? または、適切な方法は何ですか?

4

3 に答える 3

2

iOS 6 を使用している場合は、 (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation. 次に、スーパービューのデバイスの向きを返すだけです。

編集: iOS 5をカバーしている場合は、これも確認できます

于 2012-12-21T09:51:15.297 に答える
0

モーダル ビューのプレゼンテーション スタイルが現在のコンテキストに設定されている場合、ビュー コントローラー A を回転させる必要があります。

試してみてください。明らかに遷移スタイルを変更できます

IB モーダル ビュー コントローラーの設定

于 2014-03-25T16:21:23.403 に答える
0

私自身、ローテーションに関して多くの問題を抱えていました。最初のビューへのルート ビュー以外のすべての解決策を見つけました。

参照:最初のビュー (スプラッシュ) から最初の viewController への回転の問題

これは実際には、デバイスの向きが変わったことを通知するだけです。「libraryTableBorder」は私のアプリに固有のものです。「if」と「else」内のコードをアプリに適したものに置き換えます。

于 2013-01-23T14:31:02.693 に答える