5

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

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

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

4

2 回答 2

4

不,您不能自动执行此操作。查询设备旋转并根据它选择图像非常好。

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

于 2011-04-28T16:13:12.753 回答
3

正如约书亚所说,据我所知,你不能。

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

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];
于 2014-01-02T12:16:05.443 回答