iPad: добавление полноэкранного изображения во время запуска приложения в зависимости от ориентации - PullRequest
1 голос
/ 24 августа 2011

Я хотел бы создать «заставку» при запуске приложения для iPad: при запуске отображается Default- [Landscape | Portrait] ~ ipad.png, после чего я бы хотел добавить одно и то же изображение самостоятельно ипусть он исчезнет.

Проблема в ориентации во время applicationDidFinishLaunching;У меня проблемы с определением, чтобы исправить изображение и добавить его в UIWindow (которое кажется портретным).

Как можно добавить полноэкранное изображение во время запуска, а затем позволить ему исчезнуть?

Большое спасибо!

Ответы [ 2 ]

2 голосов
/ 31 августа 2011

Вы можете добавить flashView к вашему RootViewController.view в viewDidLoad:

flashView = [...]; // save reference to this object
flashView.alpha = 1.0;
[self.view addSubview:flashView];

И после applicationDidFinishLaunching анимировать альфа-свойство к 0,0 в RootViewController viewDidAppear:

NSTimeInterval duration = 1.0;
int curve = UIViewAnimationCurveLinear;

 // Setup the animation
[UIView beginAnimations:@"splash fade out" context:NULL];
[UIView setAnimationDuration:duration];
[UIView setAnimationCurve:curve];
[UIView setAnimationBeginsFromCurrentState:YES];

// change alpha
flashView.alpha = 0.0;

// Commit the changes
[UIView commitAnimations];
1 голос
/ 31 августа 2011

Ваша проблема с ориентацией во время application:didFinishLaunchingWithOptions: - ожидаемое поведение; см. Получить ориентацию запуска приложения iPad для предыдущего вопроса именно по этой теме.

Лучшее решение - это чтобы ваш дескриптор контроллера корневого представления отображал заставку или представлял заставку с помощью модального контроллера представления с UIModalTransitionStyleCrossDissolve. Таким образом, вы можете реагировать на обычное просмотр событий вращения и при необходимости изменять изображение заставки.

Или вы можете прочитать свойство orientation в UIDevice, но вполне возможно, что оно тоже не будет обновляться (даже если вы вызываете beginGeneratingDeviceOrientationNotifications из application:didFinishLaunchingWithOptions:) до тех пор, пока поздно.

...