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

È stato utile?

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];
    }];
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top