Как перейти от последнего представления к любому представлению в иерархиях контроллера представления

Предположим, есть пять видов: A,B,C,D,E, я представляю вид от А до В, а затем от В до С, используя существующий метод контроллера вида. Теперь я хочу, чтобы отклонить вид контроллера формы View C на A напрямую. Как мы можем это сделать

1 ответ

Решение

Один из способов сделать это (и, возможно, самый простой) - использовать UINavigationController и толкать UIViewControllerна это.

Тогда вы можете просто позвонить: [[self navigationController] popToRootViewControllerAnimated:YES];

Другим более сложным способом справиться с этим, если вы действительно хотите, чтобы контроллеры модального представления были бы, установить UIViewControllers с обратными вызовами, чтобы они регистрировали, что они должны немедленно закрываться при следующем появлении.

-(void)closeImmediately
{
    mCloseImmediately = YES;
}

-(void)viewWillAppear:(BOOL)animated
{
    if(mCloseImmediately)
    {
        [self dismissModalViewControllerAnimated:NO];
        return;
    }
    // ... other normal setup code
}

Делать это в viewWillAppear и без анимации означает, что это UIViewController никогда не отображается

Другие вопросы по тегам