iPhone – presentModalViewController animate
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.
1 2 |
//*.h file: -(IBAction)goToNextWindow:(id)sender; |
Přechod ve vertíkálním stylu – UIModalTransitionStyleCoverVertical
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:
1 2 3 4 |
-(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:
1 2 3 4 5 |
-(IBAction)goToNextWindow:(id)sender{ NextWindow *window = [[NextWindow alloc] initWithNibName:nil bundle:nil]; window.modalTransitionStyle = UIModalTransitionStyleCoverVertical; [self presentModalViewController:window animated:YES]; } |
Přechod prolnutím – UIModalTransitionStyleCrossDissolve
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ě:
1 2 3 4 5 |
-(IBAction)goToNextWindow:(id)sender{ NextWindow *window = [[NextWindow alloc] initWithNibName:nil bundle:nil]; window.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; [self presentModalViewController:window animated:YES]; } |
Vodorovné překlopění – UIModalTransitionStyleFlipHorizontal
Přechod způsobí překlopení screenu, s tím že po překlopení se zobrazí nový screen.
Akci upravíme následně:
1 2 3 4 5 |
-(IBAction)goToNextWindow:(id)sender{ NextWindow *window = [[NextWindow alloc] initWithNibName:nil bundle:nil]; window.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; [self presentModalViewController:window animated:YES]; } |
Odloupnutí starého screenu – UIModalTransitionStylePartialCurl
Přechod působí jako odloupnutí, nebo listování.
Hodnotu pro modalTransitionStyle nastavíme jako UIModalTransitionStylePartialCurl:
1 2 3 4 5 |
-(IBAction)goToNextWindow:(id)sender{ NextWindow *window = [[NextWindow alloc] initWithNibName:nil bundle:nil]; window.modalTransitionStyle = UIModalTransitionStylePartialCurl; [self presentModalViewController:window animated:YES]; } |
Závěrem
Možností pro překreslení screenu existuje samozřejmě více, tyhle jsou pouze defaultně podporované přímo v Cocoe.