2

ipadアプリ開発のUI問題(画像について)を担当しています。Apple 開発サイトでいくつかのドキュメントを読みましたが、それに関する情報が見つかりません。

システムがランドスケープ/ポートレート用にロードする必要がある画像を区別するための画像ファイルのファイル規則はありますか? 画像を起動することがわかったので、「MyLaunchImage-Portrait.png」と「MyLaunchImage-Lanscape.png」を使用できます。「-Landscape」、「-Portrait」、「-Landscape~ipad」、「-Portrait~ipad」を一般的な使用のために他の画像に追加しようとしましたが、失敗します。

以前にこの問題に遭遇した人はいますか?

4

1 に答える 1

1

残念ながら、iPadの起動イメージ以外にこれに関する標準的な規則はありません。ただし、を使用NSNotificationCenterして方向変更イベントをリッスンし、それに応じて応答することができます。次に例を示します。

- (void)awakeFromNib
{
    //isShowingLandscapeView should be a BOOL declared in your header (.h)
    isShowingLandscapeView = NO;
    [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(orientationChanged:)
                                                 name:UIDeviceOrientationDidChangeNotification
                                               object:nil];
}

- (void)orientationChanged:(NSNotification *)notification
{
    UIDeviceOrientation deviceOrientation = [UIDevice currentDevice].orientation;
    if (UIDeviceOrientationIsLandscape(deviceOrientation) &&
        !isShowingLandscapeView)
    {
        [myImageView setImage:[UIImage imageNamed:@"myLandscapeImage"]];
        isShowingLandscapeView = YES;
    }
    else if (UIDeviceOrientationIsPortrait(deviceOrientation) &&
             isShowingLandscapeView)
    {
        [myImageView setImage:[UIImage imageNamed:@"myPortraitImage"]];
        isShowingLandscapeView = NO;
    }
}
于 2012-09-07T02:59:49.853 に答える