0

ユーザーがメールアドレスなどを入力できるように、ユーザー入力をゲームに入れているだけです。ゲーム全体は Gl であり、iOS UI はまったくありません。EAGLView は向きを変更せず、常に縦向きですが、ゲームは横向きであり、カメラ変換でこれを処理します。

iOS キーボードを表示し、テキスト入力用に UITextView をオーバーレイします。UITextView は EAGLView のサブビューです。明らかにそれとキーボードは、EAGLView が縦向きであるため、縦向きに表示されます。

EAGLView を横向きに変更することなく、UITextView とキーボードを強制的に横向きに表示する方法はありますか?

これを機能させるために EAGLView の向きを横向きに変更した場合、パフォーマンスに影響はありますか? GLビューをデフォルトの縦向きビュー以外に向けるとパフォーマンスが低下することを何度か読んだことがありますが、これに関する確固たる証拠は見つかりません。

ありがとう、

4

1 に答える 1

3

私たちはこれに対する解決策を思いついたと思います。1 つはキーボード用、もう 1 つは UITextView 用です。

キーボードの場合、ステータス バーの向きを設定しています。設定するとキーボードが追従します。

[UIApplication sharedApplication].statusBarOrientation = UIInterfaceOrientationLandscapeRight;

そして、UITextView を正しい方向に向けるために、EAGLView のサブビュー (この場合は UITextView のみ) に次のように変換を適用します。

    CGAffineTransform aTransform = CGAffineTransformMakeRotation(M_PI / 2);
    [glView UpdateSubViewTransforms:aTransform];        

これにより、ビューに文字通り 90 度の回転が追加されます。

これは、iOS 4.3 を搭載した iPad および iPhone 4、iOS 3.13 を搭載した iPhone 3G でテストされています。

于 2011-03-31T22:32:17.857 に答える