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

据我所知,设备在 Splash Image 期间无法识别方向。这些 SPlash 图像 Def​​ault-LandscapeRight@2x~ipad.png Default-LandscapeLeft@2x~ipad.png Default-LandscapeRight~ipad.png 识别应用程序何时启动设备然后设备获取适当的启动图像。默认-LandscapeLeft~ipad.png。

如果你有兴趣,你可以做替代解决方案。这只是我的概念而已

1 为此目的创建 UIIMageView 并将其作为 SUBview 添加到 Window。

2 将 iamge 设置为该 UIIMageView。

3 将睡眠方式设置为 3-4 秒。像睡眠(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 回答