Dispensar PresentedViewController enquanto estiver presente no UIPopoverController
-
26-12-2019 - |
Pergunta
PresentedViewController presente no popoverview, este é o código que estou 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);
controlador aberto bem, quando tentei fechar o controlador, recebi este aviso
"Aviso:Tente dispensar do controlador de exibição enquanto uma apresentação ou dispensa estiver em andamento!"
depois disso, se eu clicar em qualquer botão, o aplicativo travará.
este é o código que estou usando para descartar a visualização
[self dismissViewControllerAnimated:YES completion:nil];
[self dismissViewControllerAnimated:YES completion:^{
[(UINavigationController *)self.presentingViewController popToRootViewControllerAnimated:YES];
}];
if (![self.presentedViewController isBeingDismissed])
[self dismissViewControllerAnimated:YES completion:nil];
quando tento descartar a própria visualização popover, recebendo o mesmo aviso
Solução
A princípio corrija abaixo da linha.
SearchPropertyVC *SearchPropertyVC *centerViewController = (SearchPropertyVC *)[board instantiateViewControllerWithIdentifier:@"vcSearchPropertyID"];
SearchPropertyVC *searchPropertyVC = (SearchPropertyVC *)[board instantiateViewControllerWithIdentifier:@"vcSearchPropertyID"];
escolha qualquer estilo de apresentação,
ConDetVC.modalPresentationStyle = UIModalPresentationPageSheet;
ConDetVC.modalPresentationStyle = UIModalPresentationFormSheet;
folha de página ou folha de formulário.
E enquanto você tenta apresentar, use o objeto do controlador de visualização que deseja apresentar.
[self presentViewController:ConDetVC animated:YES completion:nil];
E quando for descartado, basta escrever,
[self dismissViewControllerAnimated:YES completion:^{
// write you code here
}];
Outras dicas
Isso irá ajudá-lo:
[self.presentedViewController dismissViewControllerAnimated: YES completion:^(void) {
[self presentViewController:myController animated:YES completion:nil];
}];