1

私は iOS 開発が初めてで、iPad の [おすすめ] タブとまったく同じアプリに取り組んでいます。

例えば ​​:

縦モードのアプリ機能タブ http://postimage.org/image/hpfg55zbh/

アプリをスクロールビューで表示する

ランドスケープモード時

http://postimage.org/image/dpwnbnr4n/

OHK NOW:私がやっていることは、写真のセル表示のサイズのビューを作成していることです。25 個のアプリがある場合、25 個のビューを作成し、そのビューにアプリの画像と説明を読み込んでいます。ユーザーが縦向きモードから横向きモードに回転すると、ビューを再作成しています。

縦向きモード: 各ページに 5 行 X 2 列。横向きモード: 各ページに 3 行 X 3 列。

ビューを再作成して解放することは、実際には良い方法ではありません。誰でも私を案内したり、これを行うための他のテクニックを提案したりできますか? 確かにスクロールビューとページコントロールが必要ですが、この再作成方法を取り除きたいです。

**

NIBを一切使用せず、プログラミングによる完全な開発を行う

**最良の答えを探しています:) ...親切に私を助けてください

4

1 に答える 1

0

ビューが読み込まれると最初の作成が行われ、回転するとフレームを編集してビューを再配置するだけだと思います。ペン先を使用していないので、それに応じてビューを配置するロジックが既にあると思います。

だから多分あなたは次のようなものを持っています:

//Assuming you have these members
UIView *yourContainer_;
NSArray *subViews_;

- (void)viewDidLoad
{
    if(UIUserInterfaceOrientationIsLandscape(self.interfaceOrientation))
    {
        //create your views and add to container
    }
    else
    ....
}

-(void)willRotateToInterfaceOrientation: (UIInterfaceOrientation)orientation duration:(NSTimeInterval)duration
{
     if(UIUserInterfaceOrientationIsLandscape(orientation)
     {
          yourContainer_.frame = CGRectMake(?,?,?,?); //whatever the new size needs to be
          //then loop through all of your sub views to reposition their frames individually within the new container to match the new size and layout
     }
     else
     {
          //the same thing for this orientation
     }

}
于 2012-05-10T13:55:06.287 に答える