2010-04-27 4 views
0

Мне нужна помощь, чтобы найти представление внутри иерархии.iPhone - как найти родителя Просмотреть

Вот как я создаю стек View.

Внутри моей первой UITableViewController я вытолкнуть UIViewController, который содержит UITabBarController:

[[self navigationController] pushViewController:itemVC animated:YES]; 

Внутри UITabBarController я добавить UITableViewController:

ISSTableViewController *graphics = (ISSTableViewController *)[tabBarController.viewControllers objectAtIndex:3]; 

Внутри didSelectRowAtIndexPath я представляю модальный View Controller с помощью UINavigationController:

GraficoViewController *graph = [[GraficoViewController alloc] initWithNibName:@"GraficoViewController" bundle:nil]; 
    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:graph]; 
    [self presentModalViewController:navigationController animated:YES];  
    [navigationController release]; 

Теперь вопрос (БОЛЬШОЙ): Мне нужно скрыть NagivationBar моего первого UITableViewController в моем последнем представлении. Я пытался с этим:

[[[[[self parentViewController] parentViewController] parentViewController] navigationController] setNavigationBarHidden:YES]; 

, но он не работает. Может кто-нибудь сказать мне, как я могу найти своего предка Посмотреть ??? Спасибо.

ответ

1

Сохраните указатель (как свойство) своему UINavigationController в делетете приложения или пользовательском объекте singleton. Затем вы можете получить доступ к своей навигации из любого места.

+0

Я думал об этом, но я ищу более чистое решение. –

+0

Это хорошее решение, потому что если вы измените иерархию контроллеров, это будет работать без изменений. – Skie

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