EDIT: J'ai trouvé la réponse à ma propre question. S'il vous plaît regarder au bas de mon message. Strong> J'ai une question d'animation essayant de pousser un uiviewcontroller code> dans
dactSelectRowatidexPath code> sur un
utableview programmatiquement. Lorsque j'exécute ce code dans iOS 6, cela fonctionne bien. Dans iOS 7, l'animation est gâchée (elle anime à gauche environ 20% de l'écran disparaît puis disparaît). Si je fais cela dans Storyboard, l'animation va bien. Est-ce que je manque quelque chose ou y a-t-il un moyen autour de cela sans utiliser de storyboard? P>
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UIViewController *viewController = [[UIViewController alloc] init];
[viewController.view setBackgroundColor:[UIColor orangeColor]];
[self.navigationController pushViewController:viewController animated:YES];
}
3 Réponses :
Ceci est le comportement par défaut "parallaxe" déclenchée par le Ayant peu d'expérience avec Vous pouvez remplacer le bouton par défaut / pop par la construction personnalisée animation ou sur mesure transitions interactives . P> Ou vous pouvez utiliser le pushViewController: animation: code> dans iOS 7.
storyboards code> Je soupçonne que leur
Segue code> s sont différents de
UINavigationController code> push / pop animations. P>
UIViewController code> méthode : p>
transitionFromViewController:toViewController:duration:options:animations:completion:
Oui, vous avez compris ma question, mais je crois: TransitionFromViewController: ToViewController: Durée: Optio NS: Animations: Complets: Ne fonctionne pas pour Uinavigation PushviewController.
Oui, vous avez raison, j'aurais dû mentionner ceci. Je voulais noter que cette méthode est une possibilité, si vous vouliez aller la voie du confinement UIViewController ...
J'ai eu des problèmes similaires que j'ai réalisés à réparer en retardant l'appel
J'ai aussi expérimenté cette question. Une autre raison de cela modifierait l'alpha de la vue de destination. Au moins c'est ce que j'ai fait. p>
Si vous souhaitez modifier l'opacité de la vue lorsque vous affichez une HUD de chargement ou quelque chose, ne modifiez pas l'alpha de la vue. Au lieu de cela, ajustez l'alpha de la vue de la table ou de la vue de collection, ou tout ce que vous avez à cette vue. Si vous avez plusieurs éléments, mettez-les tous dans une vue et modifiez l'alpha de cette vue. P>
Une autre raison serait également la couleur d'arrière-plan, comme indiqué ci-dessus. Vous devez définir la couleur de fond de la vue de destination. J'ai rencontré cela plusieurs fois aussi. P>
Avez-vous essayé simplement de la mettre dans un bloc d'animation UIView, puis de vous installer ni de travailler?
Fait partie de la question que vous ne voyez pas le
CookController code> poussé sur la pile? Ou est-ce que le problème est que l'ancien
ViewController code> ne se déplace que d'environ 20%?
Mon ViewController apparaît. C'est l'animation qui ne fonctionne pas correctement.
Je pense que vous devez avoir du contenu ou définir un arrière-plan dans la vue. Mais je ne sais pas pourquoi ...