Comment changer l'animation de transition de bas en haut dans la manette de navigation?
Je suis nouveau sur iOS. Je suis en train de changer l'animation de transition dans la manette de navigation pour charger une nouvelle UIView contrôleur de bas en haut, à l'aide de Segue. Je crois qu'il ne sera pas trop difficile à mettre en œuvre, mais peut-être que je ne suis pas en mesure de le comprendre.
Je ne pouvais pas trouver un solution dans d'autres posts.
Voici le code que j'ai essayé:-
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if ([segue.identifier isEqualToString:@"alarmSegue"]) {
tab2ViewController *destViewController = segue.destinationViewController;
UIView *destView = destViewController.view;
destViewController.selectionName = @"alarms";
[sender setEnabled:NO];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];
[UIView animateWithDuration:0.0
delay:0.0
options: UIViewAnimationOptionCurveLinear
animations:^{
[destView setTransform:CGAffineTransformMakeTranslation(0, -1000)];
//[destView setFrame:CGRectMake(0, 440, 400, 45)];
//destView.frame = CGRectMake(0, 0, 320, 460);
}
completion:^(BOOL finished){
[sender setEnabled:YES];
}];
[UIView commitAnimations];
}
}
Je veux juste mettre en œuvre une transition SIMPLE du bas vers le haut, à l'aide de Segue. Je veux définir certaines propriétés du contrôleur de destination ainsi.
Vous devez vous connecter pour publier un commentaire.
Remplacer le code entre
[UIView beginAnimations:nil context:nil];
et[UIView commitAnimations];
(y compris ceux qui deux lignes) avec les éléments suivants:Vous pouvez continuer à ajouter le retard, les options et l'achèvement des paramètres à cette UIView Animation de la méthode. Xcode va probablement vous aider avec l'auto-complété sur ceux-ci.
Eh bien, vous êtes presque là.
Vous avez besoin de changer deux choses principalement:
1 Changement de la position initiale de la vue. Vous voulez le point de vue à apparaître à partir du bas vers le haut, donc, au départ, votre vue doit être à la base. Ce morceau de code doit être écrit avant l'animation.
2, Alors vous avez besoin de faire glisser à partir du bas à la position d'origine , donc à l'intérieur du bloc d'animation:
Une suggestion, je suppose que vous utilisez une version plus récente d'iOS(au-dessus de l'iOS4) au lieu d'utiliser de l'animation bloque l'utilisation UIView de l'animation de la méthode
Pour plus d'informations, reportez-vous description.
EDIT :
Selon votre modification sur la question, vous cherchez à changer l'animation de transition pour NavigationController dans l'application à l'aide de storyboard. Pour vous permettre de l'utiliser Personnalisée Segue. Vous devrez créer un personnalisé segue, une classe qui sous-classes UIStorySegue et de remplacer son
perform
méthode comme ceci:Vous devez modifier la séquence de classe à cette coutume segue dans storyboard ainsi, pour le faire fonctionner.
Essayez d'utiliser
transition effects
@"left"
ou@"top"