1

iPad のスプラッシュ スクリーンを左右に回転させたいと思います。.plist ファイルで横向きの左右の向きを有効にしました。LandscapeRight と LandscapeLeft の 4 つのファイルを追加しました。

Default-LandscapeRight@2x~ipad.png
Default-LandscapeLeft@2x~ipad.png
Default-LandscapeRight~ipad.png 
Default-LandscapeLeft~ipad.png

これは問題ではありませんが、私の rootviewcontroller には次のものがあります。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation == UIInterfaceOrientationLandscapeRight || interfaceOrientation == UIInterfaceOrientationLandscapeLeft); 
    return ( UIInterfaceOrientationIsLandscape( interfaceOrientation ) );
}

スプラッシュ スクリーンがロードされますが、回転しません。私は何を間違っていますか?

4

1 に答える 1

1

私が知っているように、デバイスはスプラッシュ イメージの期間中の方向を認識しません。デバイスは適切なスプラッシュ イメージを取得します。Default-LandscapeLeft~ipad.png.

興味がある場合は、代替ソリューションを実行できます。これは単なる私の概念であり、それ以上のものではありません

1 この目的のために UIIMageView を作成し、サブビューとしてウィンドウに追加します。

2 iamge をその UIIMageView に設定します。

3 スリープ方式を 3 ~ 4 秒間設定します。sleep(4) のように。

4 呼び出しが RootViewController に送られると、画像の向きを管理します。

以下のメソッドのように、これは AppDelegate クラスで定義したと仮定するメソッドで、画像の向きを管理します。

 -(void)checkOrientationforSplash:(UIInterfaceOrientation)interfaceOrentaion
    {
if (splashImageView.hidden==FALSE) {
    if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad){
    if (interfaceOrentaion==UIInterfaceOrientationPortrait|| interfaceOrentaion==UIInterfaceOrientationPortraitUpsideDown) {
        UIImage *image=[UIImage imageNamed:@"Default-Portrait.png"];
        splashImageView.frame=CGRectMake(0.0, 0.0, image.size.width, image.size.height);
        [splashImageView setImage:image];

    }
    else {
        UIImage *image=[UIImage imageNamed:@"Default-Landscape.png"];
        splashImageView.frame=CGRectMake(0.0, 20.0, image.size.width, image.size.height);
        [splashImageView setImage:image];
    }
       }

}

5 アプリのインストール途中でその画像フォームを管理できる RoortViewController です。

6 特定のポイントでそのスプラッシュ画像を削除します。

 -(void)removeSplash
   {
     [splashImageView setHidden:YES];
   }

お役に立てば幸いです。

于 2012-10-18T09:39:34.300 に答える