Запрос запуска образа во время выполнения

Я хотел бы получить хорошее начало моего приложения, переходя с заставки (UILaunchImageFile) на главный экран. Легкая вещь, подумал я, просто показать UIImageView с заставкой как самый первый вид, а затем сделать анимацию перехода.

Проблема заключается в том, что, поскольку это приложение для iPad со всеми четырьмя поддерживаемыми ориентациями и заставками для всех этих ориентаций, мне нужно будет запросить, какая заставка использовалась. Я мог бы запросить текущее вращение устройства и выбрать изображение соответственно, но мне интересно, есть ли лучший способ.

Итак, могу ли я как-то спросить, какое изображение запуска использовалось при запуске приложения, или мне нужно запросить текущую ориентацию пользовательского интерфейса устройства и соответственно выбрать файл?

2 ответа

Решение

Нет, вы не можете сделать это автоматически. Запрашивать поворот устройства и выбирать изображение на его основе - это прекрасно.

В этой ситуации вам действительно нужен только Портрет или Пейзаж, при условии, что вы правильно поворачиваете изображение.

Как уже сказал Иисус, вы не можете, насколько я знаю.

В случае, если это может помочь кому-то еще, если вы используете списки ресурсов, следующий код должен предоставить правильное начальное изображение для текущей ориентации интерфейса.

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];
Другие вопросы по тегам