Как перейти от последнего представления к любому представлению в иерархиях контроллера представления
Предположим, есть пять видов: 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
никогда не отображается