0

iOS 3.0 に対してコーディングを行っており、アプリに回転 (横向き) のサポートを追加しようとしています。

回転に関するすべてが十分に簡単でした。ただし、縦向きから横向きモードに回転すると、画面の右 3 分の 1 (480 ~ 320) がすべてのイベント (タッチ、ドラッグなど) に応答しなくなります。キー ウィンドウがイベントを受信して​​いることを確認しましたが、これらのイベントが画面の右側 (横向き) のボタンと UIView に渡されていません。

NSNotificationCenter を使用して方向変更イベントを受信して​​います (autorotate フラグは使用していません)。

私は見ました: link text ですが、それは私の場合にはあまり役に立ちませんでした。

立ち往生。助けが必要。ありがとう。

4

1 に答える 1

1

私が抱えていた問題を修正しました..私は基本的にする必要があり[self.navigationController.view setNeedsLayout]ました.

私がこれを理解する方法(おそらく間違っているのは、それself.navigationController.view.frameは同じでself.view.frameあり、両方が(x = 0、y = 0、幅= 320、高さ= 480)に等しいということです。次に、回転self.viewしてM_PI/2、選択時にいくつかのフレーム操作を行いましたself.view.subviews を使用して、すべてを正しくアニメーション化/配置/スケーリングします。

これはうまくいきましたが、ナビゲーション コントローラーは、320 の右側にある self.view の部分へのタッチ イベントを認識self.navigationController.view.clipsToBoundsしませんでした。

とにかく、ナビゲーションコントローラーのビューで setNeedsLayout を設定すると、問題が解決しました。これが他の誰かに役立つことを願っています。

于 2010-10-07T15:43:49.537 に答える