我想在iPad应用程序中显示启动画面。在此之前,我想获得当前的设备方向横向或纵向模式。我用了,
UIInterfaceOrientation orientation= [[UIApplication sharedApplication] statusBarOrientation];
if (orientation == UIInterfaceOrientationLandscapeRight || orientation == UIInterfaceOrientationLandscapeLeft)
{
splachview=[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 1024, 768)];
splachview.image=[UIImage imageNamed:@"Default-Landscape.png"];
splachview.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin;
splachview.contentMode = UIViewContentModeTop;
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];
[self.window addSubview:splachview];
}
else if (orientation == UIInterfaceOrientationPortrait || orientation == UIInterfaceOrientationPortraitUpsideDown)
{
splachview=[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 768, 1024)];
splachview.image=[UIImage imageNamed:@"Default-Portrait.png"];
splachview.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin;
splachview.contentMode = UIViewContentModeTop;
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];
[self.window addSubview:splachview];
}
Appdelegate.m
中的。 UIInterface定向始终仅在纵向模式下检测。我在横向模式下启动了应用程序,但控件始终只检测纵向模式。如何才能获得AppDelegate.m
中的当前定位?请帮我找到解决方案。提前致谢。
答案 0 :(得分:1)
您不应该在AppDelegate
上执行此操作,而应在UIViewController
上执行此操作。在UIViewController
中,您可以通过using the appropriate methods(配置查看轮播设置部分)正确了解设备的位置。
答案 1 :(得分:0)
阅读完代码后,看起来你想要的是在app启动时显示静态图像。没有任何代码就可以做到这一点。
如果要将任何动态内容显示为“splash”,则可能需要在UIViewController中处理它。
要获取当前设备方向,您可以读取属性:[UIDevice currentDevice] .orientation。仅供参考。