0

ここで、iPad iOS6 で背景を指定するための私のコード、

- (void)viewDidLoad
{
    if ([[UIScreen mainScreen] bounds].size.height == 1024)
    {
        self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"homeipad.png"]];
    }
    else if ([[UIScreen mainScreen] bounds].size.height == 768)
    {
        self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"landscapipad.png"]];
    }
}

変更されないのは向きによって異なりますか?私は含めました

-(BOOL)shouldAutorotate
{
     return YES;
}
-(NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskAll;
}

iPadで対応する向きに特定の背景画像を割り当てる方法は?

4

1 に答える 1

0

RememberviewDidLoadは、メモリ内に新しいUIViewControllerオブジェクトを作成し、そのコントローラー オブジェクトをプッシュ/提示するときにのみ呼び出されます。

メソッド名viewDidLoadは、viewcontroller ビューが読み込まれることを定義します。ここで、すべての初期化タスクを実行できます。

あなたの質問に答えてください。

次の UIVIewController のデリゲート メソッドは、これに役立ちます。これらのメソッドは、デバイスの向きが変わるたびに呼び出されます。

// Called before interface rotation 
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration;

// Called after interface rotation
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation;

もう1つ、画面の高さを比較するのではなく、上記の2つの方法で現在の向きを確認できます。

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration;
{
    if( UIInterfaceOrientationIsLandscape(toInterfaceOrientation))
    {
        // Your code goes here for landscape orientation
    }
    else
    {
        // Your code goes here for portrait orientation
    }
}
于 2013-06-15T10:25:53.393 に答える