Non faccio uso di schermate di avvio spesso, ma quando lo faccio, voglio loro di aprire come un libro.
In verità, io non sono un grande fan di schermate iniziali e anche Apple raccomanda di utilizzare un Default.png che mostra i controlli (senza testo) dell'applicazione:
visualizzare un'immagine di lancio che da vicino assomiglia alla prima schermata dell'applicazione. Questa pratica riduce il tempo di avvio percepito della tua applicazione.
Evitare di visualizzare una finestra Informazioni o una schermata iniziale. In generale, cerca di evitare di fornire qualsiasi tipo di esperienza di avvio che impedisca alle persone di utilizzare immediatamente la tua applicazione.
da linee guida HIG
Tuttavia, alcune persone li amano e un app, in particolare, ha un bel schermo implementazione splash - Percorso 2.0. Quando apri Path, sei accolto con il loro logo su una versione rossa della texture di lino di Apple che si anima aperta come un libro (o un diario perché è quello che Path considera essere).
si può ottenere la fonte di questo progetto qui: https://github.com/jaysonlane/OpenBook
Prima di iniziare, Lasciatemi prefazione questo con un disclaimer: Sono molto nuovo alle animazioni a Cocoa in modo da portare con me. Se noti codice non necessario o inefficiente, lascia un commento e io lo sistemo.
Se non hai visto l'animazione, sali sull'app store e prendine una copia per vedere cosa stiamo cercando di realizzare. Ho creato un png predefinito che possiamo usare con intelligenza dal titolo Math (come un libro di matematica che si apre, giusto?). Puoi scaricarlo qui (retina) e qui.
Per iniziare, lascia che ti spieghi "l'inganno" dietro ciò che faremo: useremo il normale sistema predefinito di splash in atto per visualizzare il nostro file default.png. Nel Delegato app, una volta che l'applicazione ha terminato il lancio, creeremo UIImageView in cima alla nostra vista di default.png. Animeremo quindi UIImageView, per ruotare l'apertura per rivelare la nostra vista.
Così andiamo:
Creare un nuovo progetto, ho creato uno utilizzando il modello di vista unico, ma questo funzionerà con qualsiasi. Vai avanti e imposta i tuoi file default.png e [email protected] alle immagini fornite. È possibile farlo cliccando il progetto nel pannello di navigazione a sinistra, fare clic sul Target e scorrere verso il basso per lanciare le immagini:
Aprire l'AppDelegate.m e aggiungere il seguente codice all'applicazione funzione didFinishLaunching o applicazione didFinishLaunchingWithOptions:
//1. add the image to the front of the view...
UIImageView *splashImage = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
[splashImage setImage: [UIImage imageNamed:@"Default"]];
[self.window addSubview:splashImage];
[self.window bringSubviewToFront:splashImage];
//2. set an anchor point on the image view so it opens from the left
splashImage.layer.anchorPoint = CGPointMake(0, 0.5);
//reset the image view frame
splashImage.frame = CGRectMake(0, 0, 320, 480);
//3. animate the open
[UIView animateWithDuration:1.0
delay:0.6
options:(UIViewAnimationCurveEaseOut)
animations:^{
splashImage.layer.transform = CATransform3DRotate(CATransform3DIdentity, -M_PI_2, 0, 1, 0);
} completion:^(BOOL finished){
//remove that imageview from the view
[splashImage removeFromSuperview];
}];
Tre cose stanno accadendo qui ...
1) creiamo un nuovo UIImageView e aggiungerlo alla parte superiore della vista 2) Abbiamo fissato un punto di ancoraggio sul lato sinistro dell'immagine per renderla apri da sinistra e quindi reimposta il fotogramma alla dimensione completa del vie w 3) Animiamo UIImageView e lo rimuoviamo dalla vista al completamento
Ecco, è così semplice.
Fonte
:
http://jaysonlane.net/tech-blog/2012/03/path-2-0-style-animated-splash-screen-default-png/
Questo è un riferimento a un tutorial di Splash Screen ... La mia domanda In particolare chiede se c'è un modo per animare qualsiasi cosa all'interno del file LaunchScreen.xib usato al posto di un'immagine di lancio iniziale di un progetto Xcode 6 destinato a deploy per iOS 8.1 o versione iOS più grande ... – JThora
Hai fatto un buon lavoro scrivendo questo. +1 – Cesare