Запрос запуска образа во время выполнения - PullRequest
5 голосов
/ 26 апреля 2011

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

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

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

Ответы [ 2 ]

4 голосов
/ 28 апреля 2011

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

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

3 голосов
/ 02 января 2014

Как уже сказал Джошуа, вы не можете, насколько мне известно.

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

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];
...