Ios 为什么我的ModalView显示为纵向模式?

Ios 为什么我的ModalView显示为纵向模式?,ios,xcode,modalviewcontroller,Ios,Xcode,Modalviewcontroller,希望有人能指出我的闪屏有什么问题。问题是屏幕显示的是纵向模式,而不是横向模式 - (void)showSplash { UIView *modelView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 1024 , 748)]; UIViewController *modalViewController = [[UIViewController alloc] init]; [modelView setBackgroundColor:[

希望有人能指出我的闪屏有什么问题。问题是屏幕显示的是纵向模式,而不是横向模式

- (void)showSplash
{    
UIView *modelView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 1024 , 748)];

UIViewController *modalViewController = [[UIViewController alloc] init];
[modelView setBackgroundColor:[[UIColor alloc] initWithPatternImage:[UIImage     imageNamed:@"Splash.png"]]];

modalViewController.view = modelView; 

[self presentModalViewController:modalViewController animated:NO];


[self performSelector:@selector(hideSplash) withObject:nil afterDelay:5.0];
}


提前谢谢你的帮助

看起来您正在为iPad编写应用程序。如果是这样,你必须同时支持横向和纵向,否则苹果会拒绝它。我建议您使用两种不同的图像。图像规格如下:

  • Default-Landscape.png(1004*768)
  • Default-grait.png(748*1024)
  • (我假设您正在显示状态栏,若不将20像素添加到图像高度)

    就是这样,创建这些图像并将其添加到项目中。你可以走了。也不需要编写任何额外的代码

    你能做到吗

    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
    {
    return YES;
    }
    

    您不应该依赖代码中的函数来显示启动屏幕。正如Sumit Lonkar之前解释的那样定义它们

    如果在代码中这样做,我相信在应用程序开始时,方向总是被认为是纵向的,然后触发到实际方向的转换。这解释了为什么您的代码首先显示为纵向,并且很可能代码中没有任何其他内容可以处理旋转。此外,启动屏幕的目的是在应用程序加载时显示某些内容,因此,如果将其放入代码中,则会失去其目的

    按照苹果的方式来做,你就可以让另一个苹果进程在查看你的代码之前运行,它就会工作


    关于支持的定位,我的iPad上有一些只支持横向的应用程序(例如TapZoo)所以苹果应该没问题。

    你指的是应用程序启动时显示的默认图像的副本,对吗?是的,应用程序启动时加载的图像…实际上,根据苹果的说法,这个应用程序只支持横向,建议你支持所有,但他们不需要。。
    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
    {
    return YES;
    }