2010-08-09 4 views
1

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

В настоящее время я настраиваю контроллер навигации в делегате приложения и устанавливаю контроллер верхнего уровня в качестве контроллера табличного представления. Я хочу запустить панель навигации. Пока я вижу панель навигации, но это происходит, когда я перехожу от первого контроллера представления к контроллеру табличного представления.

Любая помощь будет высоко оценена, поскольку я смутил себя этой проблемой.

ответ

0

Я не совсем понимаю, о чем вы спрашиваете, поэтому я могу ошибаться, но здесь идет. Верхняя панель навигации можно отобразить или скрыть с помощью вызова:

self.navigationController.navigationBarHidden = NO; 

В методе viewWillAppear вашего ViewController. Поэтому установите его в положение YES или NO в зависимости от того, хотите ли вы его отобразить.

+0

Спасибо за ответ. Я понимаю, как это смутило, но не знал, как это объяснить. Когда вы создаете новый проект с использованием xcode в качестве проекта табличного представления, он уже устанавливает все с помощью навигационного контроллера. Я хочу сделать то же самое отдельно от того, что я хочу, чтобы диспетчер представлений обрабатывал представление до этого, которое не обрабатывается контроллером навигации и не имеет навигационной панели. – Disco

0

@Disco, вы могли бы сделать что-то вроде этого:

// In the App delegate 
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  
    CustomViewController *viewController = [[CustomViewController alloc] init]; 
    [window addSubview:viewController.view]; 
    [window makeKeyAndVisible]; 
    return YES; 
} 

// In your button method 
- (IBAction)loadUpTableViewController:(id)sender { 
    CustomTableViewController *tvc = [[CustomTableViewController alloc] init]; 
    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:tvc]; 
    [self presentModalViewController:navigationController animated:YES]; 
    [navigationController release]; 
    [tvc release]; 
} 
Смежные вопросы