我希望通过从初始屏幕(UILaunchImageFile)淡入主屏幕来开启我的应用程序。我想,简单的事情是,只需使用启动画面作为第一个视图显示UIImageView,然后制作过渡动画。
问题是,由于这是一个支持所有四个方向的iPad应用程序,以及所有这些方向的启动画面,我需要查询使用了哪个启动画面。我可以查询当前的设备旋转并相应地选择图像,但我想知道是否有更好的方法。
那么,我可以以某种方式查询在应用启动期间使用的启动图像,还是我需要询问设备当前的UI方向并相应地选择文件?
答案 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];