Я представляю контроллер модального представления для различных параметров пользовательского интерфейса в приложении iOS. Одна из этих настроек позволяет пользователю выбрать другой основной вид. Когда они нажимают «Готово», я хочу отказаться от модального представления и отобразить недавно выбранный контроллер представлений без мгновенной задержки, когда старый контроллер просмотра перейдет к новому контроллеру представления. Как это можно реализовать?Представить другой контроллер просмотра после отклонения контроллера Modal View
Update:
Вот метод, который я успешно реализован с использованием техники Юджина, но без приложения делегата. Вместо этого эта реализация специфична для моего сценария, когда контроллер представления в стеке навигации представляет собой контроллер модального представления в приложении Utility.
- (void)swapFrontSideViewController;
{
UINavigationController *navigationVC = (UINavigationController *)[self presentingViewController];
NSMutableArray *viewControllers = [NSMutableArray arrayWithArray:navigationVC.viewControllers];
UIViewControllerSubclass *selectedViewController = nil;
if ([self.selectedFrontSide isEqualToString:FRONT_SIDE_NAME1]) {
selectedViewController = [self.storyboard instantiateViewControllerWithIdentifier:FRONT_SIDE_NAME1];
} else if ([self.selectedFrontSide isEqualToString:FRONT_SIDE_NAME2]) {
selectedViewController = [self.storyboard instantiateViewControllerWithIdentifier:FRONT_SIDE_NAME2];
}
if (selectedViewController) {
[viewControllers replaceObjectAtIndex:viewControllers.count -1 withObject:selectedViewController];
[navigationVC setViewControllers:viewControllers];
self.delegate = selectedViewController;
} else {
NSLog(@"Error: Undefined Front Side Selected.");
}
}
Что вы сделали? – Bazinga