0

У меня есть 2 UIViewController's, представленный [self presentViewController:viewController animated:YES completion:nil];, я хочу уволить первый из них без анимации (он все равно не отображается), а второй (в настоящее время видимый)) будет отклонен, пользователь увидит контроллер родительского представления, который представляет их оба.Отклонить ранее представленный контроллер модального просмотра до того, как он будет виден в данный момент

- Parent 
    - First -> Dismiss first without animation 
    - Second -> Dismiss second with animation 

Как я могу это сделать?

+0

Вы хотите удалить первый контроль над просмотром но хотите уволить второй позже? – Usama

+0

@ Усама Да .. это то, что я хочу сделать. –

+0

Если в настоящий момент вы хотите уволить второй, вместо этого вы упустите первый viewController, а затем второй будет уволен с анимацией, а родительский будет виден (не показывая первый раз). Это похоже на поведение пользовательского интерфейса, которое вы хотите. Почему вы хотите уволить первого раньше второго? – fishinear

ответ

0

С вашей текущей иерархией диспетчера точек зрения, если контроллер первого вида будет отклонен, он автоматически отключит второй контроллер представления. Если вы не хотите этого поведения, чем сделать родительский второй контроллер просмотра. Вы можете сделать это с помощью контроллера первого вида, используя [self.presentingViewController presentViewController:secondViewController animated:YES completion:nil]

0

Зачем вы хотите это сделать?

Вы должны сделать это так для более чистого зрения иерархии и лучшего пользовательского опыта:

Present контроллер первого взгляда:

[self presentViewController:viewController1 animated:YES completion:nil]; 

Отклонить первый & настоящий второй вид контроллера:

__weak MyViewController *aBlockSelf = self; 

[self dismissViewControllerAnimated:YES completion:^{ 
    [aBlockSelf presentViewController:viewController2 animated:YES completion:nil]; 
}]; 
+0

Это технически работает, но приводит к плохим переходам при увольнении и представлении второго контроллера. См. Мой ответ на http://stackoverflow.com/questions/41827981/dismiss-and-present-modal-view-controller-with-one-animation/43825369#43825369, чтобы улучшить анимирование перехода. – zeroimpl

Смежные вопросы