IPhone nabízí několik různých animací, které je možné používat pro přechod na jiný screen (jinou obrazovku) nebo překreslení obrazovky.
V příkladu budou existovat dvě Views, mezi kterými se budeme přepínat.
Vytvoříme si na každém Views UIButton, na který navážeme akci, kterou nazveme například: goToNextWindow.
//*.h file: -(IBAction)goToNextWindow:(id)sender;
Přechod způsobí plynulé posunutí screenu ve vertikální ose (způsobí vyjetí nového screenu zespod obrazovky)
Tento předchod je defaultní a pokud vytvoříme akci, která nebude styl přechodu měnit, bude použita přávě tato:
-(IBAction)goToNextWindow:(id)sender{
NextWindow *window = [[NextWindow alloc] initWithNibName:nil bundle:nil];
[self presentModalViewController:window animated:YES];
}
V případě že bychom chtěli akci nastavit, uděláme to pomocí hodnoty modalTransitionStyle:
-(IBAction)goToNextWindow:(id)sender{
NextWindow *window = [[NextWindow alloc] initWithNibName:nil bundle:nil];
window.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentModalViewController:window animated:YES];
}
Přechod způsobí prolnutí dvou screenu do sebe - nový screen se prolne přes původní a zobrazí
Nastavení modalTransitionStyle upravíme následně:
-(IBAction)goToNextWindow:(id)sender{
NextWindow *window = [[NextWindow alloc] initWithNibName:nil bundle:nil];
window.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentModalViewController:window animated:YES];
}
Přechod způsobí překlopení screenu, s tím že po překlopení se zobrazí nový screen.
Akci upravíme následně:
-(IBAction)goToNextWindow:(id)sender{
NextWindow *window = [[NextWindow alloc] initWithNibName:nil bundle:nil];
window.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:window animated:YES];
}
Přechod působí jako odloupnutí, nebo listování.
Hodnotu pro modalTransitionStyle nastavíme jako UIModalTransitionStylePartialCurl:
-(IBAction)goToNextWindow:(id)sender{
NextWindow *window = [[NextWindow alloc] initWithNibName:nil bundle:nil];
window.modalTransitionStyle = UIModalTransitionStylePartialCurl;
[self presentModalViewController:window animated:YES];
}
Možností pro překreslení screenu existuje samozřejmě více, tyhle jsou pouze defaultně podporované přímo v Cocoe.