2

私は新しい iOS プログラミングで、ランドスケープのみで実行する必要がある単純な iPhone ゲームを開発しています。私は...

  1. ターゲット設定でサポートされている方向を設定します
  2. 要件を追加しました。plist item (初期インターフェースの向き)
  3. shouldAutorotateToInterfaceOrientation をオーバーライドして、ランドスケープ モードの場合にのみ YES を返す

..そして、アプリは正しく「見える」のですが、いくつか奇妙なことが起こっています。

問題 1 - ビューを手動で配置しようとしており、自動レイアウトに依存していません。画面の右端から 150 ピクセルの位置に配置する必要がある読み込み中の NIB に UIView があります。UIViewController のビューの高さ (幅ではなく) を取得して正しく配置する必要があります。コードのこの時点では横向きに回転していないようです。

問題 2 - タイトル画面からゲーム インタラクションに移動する UINavigationController の実装。インタラクション UIViewController をスタックにプッシュすると、本来のように右からスライドインします。インタラクションをポップしてタイトルに戻ると、タイトルまでスライドします。縦向きに回転しているように見えますか?

欠けている非常に基本的なものがあると思いますが、アプリコードでそれを見つけることができません。ランドスケープ アプリのリストを確認しましたが、上記のリスト以外には言及していません。

私が注意しなければならないことをオーバーライドする他のもの/設定/方法はありますか?

4

2 に答える 2

0

問題 2:

多くの UIViewController を使用しないでください。1 つのビュー コントローラーを使用します。1 つのメイン UIViewController を作成し、他の UIViewController については次のようにします。

[mainviewcontrl presentModalViewcontroller: child_viewcontrl animated: YES];

子View Controllerを削除するには、使用します

[child_viewcontrl dismissModalViewControllerAnimated: YES];
于 2012-06-07T04:29:06.670 に答える
0

他のviewControllerでもshouldAutorotateToInterfaceOrientationを設定する必要があります。特に UINavigationController 内に表示されるもの。

于 2012-06-08T04:25:08.853 に答える