在运行时查询启动图像

时间:2011-04-26 11:56:47

标签: ios ipad uilaunchimagefile

我希望通过从初始屏幕(UILaunchImageFile)淡入主屏幕来开启我的应用程序。我想,简单的事情是,只需使用启动画面作为第一个视图显示UIImageView,然后制作过渡动画。

问题是,由于这是一个支持所有四个方向的iPad应用程序,以及所有这些方向的启动画面,我需要查询使用了哪个启动画面。我可以查询当前的设备旋转并相应地选择图像,但我想知道是否有更好的方法。

那么,我可以以某种方式查询在应用启动期间使用的启动图像,还是我需要询问设备当前的UI方向并相应地选择文件?

2 个答案:

答案 0 :(得分:4)

不,你不能自动完成这项工作。查询设备旋转并基于此选择图像是完全正常的。

在这种情况下,您确实只需要纵向或横向,假设您正在正确地旋转视图。

答案 1 :(得分:3)

正如我所知,约书亚已经说过你不能。

如果这可能对其他人有帮助,如果您正在使用资产catelogs,则以下代码应为当前界面方向提供正确的启动图像。

NSString *suffix = nil;

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
    suffix = [[UIScreen mainScreen] bounds].size.height >= 568.0f ? @"-568h@2x" : @"@2x";
}
else {
    UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation;
    suffix = UIInterfaceOrientationIsPortrait(orientation) ? @"-Portrait" : @"-Landscape";
    suffix = [UIScreen mainScreen].scale == 2.0 ? [suffix stringByAppendingString:@"@2x~ipad"] : [suffix stringByAppendingString:@"~ipad"];
}

NSString *launchImageName = [NSString stringWithFormat:@"LaunchImage-700%@.png",suffix];