2010-04-11 3 views
2

Я хотел бы иметь возможность вызывать несколько видов из стека UITableViewController. Например, в примере Apple DrillDownSave, при просмотре Уровня 3, чтобы вернуться к Уровню 1 или при просмотре Элемента, чтобы вернуться к Уровню 2, когда нажата кнопка.Вычисление нескольких уровней в UITableViewController

Я пробовал:

[self.navigationController.parentViewController.navigationController popViewControllerAnimated: NO]; 
[self.navigationController popViewControllerAnimated: NO]; 

и

[self.navigationController popViewControllerAnimated: NO]; 
[self.navigationController.parentViewController.navigationController popViewControllerAnimated: NO]; 

, но они оставляют меня такое же место, как только один popViewControllerAnimated :. Есть простой способ сделать это?

ответ

3

Что вы хотите, это отправить popToViewController: animated: на контроллер навигации. Вы можете использовать свойство навигационного контроллера viewControllers, чтобы выяснить, какой контроллер просмотра он хочет поместить.

7

Спасибо, что это сделал. Я изменил свой код на:

NSArray *allViewControllers = self.navigationController.viewControllers; 
NSInteger n = [allViewControllers count]; 
[self.navigationController popToViewController: [allViewControllers objectAtIndex: (n-3)] animated: YES]; 

и он отлично работает.

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