DISTSS ME PRESENTED VISIONECONTROLLER MENTRE DA UIPOPOVERCONTROLLER
-
26-12-2019 - |
Domanda
PresentatoViewController Presente da PopoverView, questo è il codice che sto usando
SearchPropertyVC *SearchPropertyVC *centerViewController = (SearchPropertyVC *)[board instantiateViewControllerWithIdentifier:@"vcSearchPropertyID"];
UINavigationController *ConDetVC = [[UINavigationController alloc] initWithRootViewController:centerViewController];
ConDetVC.modalPresentationStyle = UIModalPresentationPageSheet;
ConDetVC.modalPresentationStyle = UIModalPresentationFormSheet;
ConDetVC.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentViewController:ConDetVC animated:YES completion:nil];
ConDetVC.view.superview.bounds = CGRectMake(0, 0, 700, 670);
.
Controller Aprire bene, quando provo a chiudere il controller, sto ottenendo questo avviso
"Avvertenza: tentare di licenziare dal controller di visualizzazione mentre una presentazione o licenza è in corso!"
Dopo che se faccio clic su qualsiasi pulsante, l'app si è schiantata.
Questo il codice sto usando per licenziare la vista
[self dismissViewControllerAnimated:YES completion:nil];
[self dismissViewControllerAnimated:YES completion:^{
[(UINavigationController *)self.presentingViewController popToRootViewControllerAnimated:YES];
}];
if (![self.presentedViewController isBeingDismissed])
[self dismissViewControllerAnimated:YES completion:nil];
.
Quando provo a licenziare la vista della popover stessa ottenere lo stesso avviso
Soluzione
Alla prima la prima corretta sottolinea.
SearchPropertyVC *SearchPropertyVC *centerViewController = (SearchPropertyVC *)[board instantiateViewControllerWithIdentifier:@"vcSearchPropertyID"];
SearchPropertyVC *searchPropertyVC = (SearchPropertyVC *)[board instantiateViewControllerWithIdentifier:@"vcSearchPropertyID"];
.
Scegli qualsiasi stile di presentazione,
ConDetVC.modalPresentationStyle = UIModalPresentationPageSheet;
ConDetVC.modalPresentationStyle = UIModalPresentationFormSheet;
.
foglio di pagina o foglio di forma.
E mentre si tenta di presentare, usa l'oggetto del controller di visualizzazione che vuoi presentare.
[self presentViewController:ConDetVC animated:YES completion:nil];
.
E quando è stato licenziato, scrivi,
[self dismissViewControllerAnimated:YES completion:^{
// write you code here
}];
. Altri suggerimenti
Questo ti aiuterà:
[self.presentedViewController dismissViewControllerAnimated: YES completion:^(void) {
[self presentViewController:myController animated:YES completion:nil];
}];
.