-1

私は iOS5 で iPhone 用のアプリケーションを開発することを学んでいます。他のバージョンを使用した経験はありません。複数のオリエンテーションをサポートしたかったので、最近よく検索しています。しかし、私は解決策を見つけていません。

1)方向の変化に応じてビューコントローラーをスタックに出し入れするナビゲーションコントローラーを使用できます。しかし、それはすべてのコピーを 2 つ作成する必要があることを意味します。1 つは風景用、もう 1 つはポートレート用です。

2) 新しいランドスケープ ビュー コントローラーを作成します。potrait ビュー コントローラーの willRotateToInterfaceOrientation メソッドで、landscpe ビュー コントローラーのインスタンスを初期化し、presentViewController として設定します。ランドスケープ VC では、potrait のインスタンスを初期化し、同じことを行います。しかし、ナビゲーションコントローラーの場合のように、このインスタンスは「ポップ」されている nmot であるため、これはますます多くのメモリを消費すると思います。(私はまだメモリ管理ガイドを読んでいません)

3) ビューのサイズ変更に関していくつかのことがありました。この方法はよくわかりました。

一般的に使用されている方法とその理由を教えてください。

4

1 に答える 1

0

横向きと縦向きに別々の ViewController を作成する必要はありません。

If suppose You have a button named btnSample.


- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
  UIInterfaceOrientation des=self.interfaceOrientation;
  if ((interfaceOrientation==UIInterfaceOrientationPortrait)||(interfaceOrientation==UIInterfaceOrientationPortraitUpsideDown))
    {

//ポートレート

btnSample.frame=CGRectMake(10,10,100,70);

    }
  else
  {

//風景

btnSample.frame=CGRectMake(200,100,100,70);

  }

}

于 2012-08-13T08:51:37.973 に答える