Scène du projet:
Code segue: utilisez le code UIModalTransitionStylePartialCurl (transition d'effet de retournement d'écran vertical) pour basculer vers le nouveau ViewController, utilisez le code ignoreViewControllerAnimated: YES pour revenir au ViewController précédent lorsque l'animation est bloquéeDescription du problème:
1. Utilisez le code UIModalTransitionStylePartialCurl (transition d'effet de retournement d'écran vertical) pour basculer vers le nouveau ViewController
//代码实现切换到第四场景
- (IBAction)gotoFourthView:(id)sender {
//获取Main.storyboard
UIStoryboard * sb = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
//获取新的viewcontroler
FourthViewController * fvc = [sb instantiateViewControllerWithIdentifier:@"fourthview"];
//过度翻页效果
fvc.modalTransitionStyle = UIModalTransitionStylePartialCurl;
//过度页面采用modal样式
fvc.modalPresentationStyle = UIModalPresentationFullScreen;
//展示新页面
[self presentViewController:fvc animated:YES completion:nil];
}
2. Lorsque le nouveau ViewController utilise le code.
//返回上一层页面
- (IBAction)backToPreviosView:(id)sender {
UIViewController *presentingVc = self.presentingViewController;
// while (presentingVc.presentingViewController) {
// presentingVc = presentingVc.presentingViewController;
// }
if(presentingVc){
[presentingVc dismissViewControllerAnimated:YES completion:nil];
}
}
3. Comme indiqué sur la figure:
Analyse des causes:
Astuce: remplissez ici l'analyse du problème:
raison inconnue
Solution:
- N'utilisez pas le style UIModalTransitionStylePartialCurl, utilisez les trois autres pour revenir à la normale, par exemple:
- UIModalTransitionStyleCoverVertical
- UIModalTransitionStyleFlipHorizontal
- UIModalTransitionStyleCrossDissolve
- Si vous devez utiliser le style IModalTransitionStylePartialCurl, alors lorsque vous revenez, choisissez NO
[presentantVc licencierViewControllerAnimated: NO completion: nil];