Отклонить PresentedViewController, пока он присутствует в UIPopoverController
PresentedViewController присутствует из popoverview, это код, который я использую
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);
контроллер открыт нормально, когда я пытался закрыть контроллер, я получаю это предупреждение
"Предупреждение. Попытка отстранения от контроллера представления во время презентации или отклонения!"
после этого, если я нажму любую кнопку, приложение упадет.
этот код я использую, чтобы отклонить представление
[self dismissViewControllerAnimated:YES completion:nil];
[self dismissViewControllerAnimated:YES completion:^{
[(UINavigationController *)self.presentingViewController popToRootViewControllerAnimated:YES];
}];
if (![self.presentedViewController isBeingDismissed])
[self dismissViewControllerAnimated:YES completion:nil];
когда я пытаюсь отклонить само представление поповера, получая то же самое предупреждение
2 ответа
Решение
Сначала исправьте строку ниже.
SearchPropertyVC *SearchPropertyVC *centerViewController = (SearchPropertyVC *)[board instantiateViewControllerWithIdentifier:@"vcSearchPropertyID"];
SearchPropertyVC *searchPropertyVC = (SearchPropertyVC *)[board instantiateViewControllerWithIdentifier:@"vcSearchPropertyID"];
выбрать любой стиль презентации,
ConDetVC.modalPresentationStyle = UIModalPresentationPageSheet;
ConDetVC.modalPresentationStyle = UIModalPresentationFormSheet;
или лист страницы или лист формы.
И пока вы пытаетесь представить, используйте контроллер представления объекта, который вы хотите представить.
[self presentViewController:ConDetVC animated:YES completion:nil];
А когда его уволят, просто напиши,
[self dismissViewControllerAnimated:YES completion:^{
// write you code here
}];
Это поможет вам:
[self.presentedViewController dismissViewControllerAnimated: YES completion:^(void) {
[self presentViewController:myController animated:YES completion:nil];
}];