Come aggiungere una visualizzazione tabella a un controller di navigazione che a sua volta viene aggiunto come childviewcontroller a UIViewController
-
22-12-2019 - |
Domanda
Ho un UIViewController aggiunto come childViewController a UIViewController.
exampleView = [[UIViewController alloc] init];
//Setting the frame of the child UIViewController
CGRect frame = self.view.frame;
frame.origin.y = frame.origin.y + 83.0;
frame.size.height = 200.0;
exampleView.view.frame = frame;
[self addChildViewController:exampleView];
[self.view addSubview:exampleView.view];
[exampleView didMoveToParentViewController:self];
Quindi aggiungo un UINavigationController a childViewController
//Adding navigation controller to the child view.
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:exampleView];
nav.navigationBar.translucent = NO;
[exampleView.view addSubview:nav.view];
exampleView.title = @"mynameasdasd";
NOTA:Lo faccio perché ho bisogno che il controller di navigazione sia al centro della mia visuale (non occupi l'intera dimensione dello schermo).
Ora voglio aggiungere un TableView a questo NavigationController e continuare con la navigazione normale.Come dovrei farlo?Non riesco ad aggiungere una visualizzazione tabella a questo controller di navigazione.
Soluzione
Il parametro a cui stai passando initWithRootViewController
è sbagliato.Questo dovrebbe essere il punto di vista del UITableViewController
UITableViewController *tvc = [[UITableViewController alloc] init];
tvc.delegate = <Put your UITableViewDelegate here>
tvc.datasource = <Put your UITableViewDatasource here>
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:tvc];
nav.navigationBar.translucent = NO;
[exampleView.view addSubview:nav.view];
exampleView.title = @"mynameasdasd";
Altri suggerimenti
You cannot add a table view to a navigation controller. You can only add a view controller containing a table view to a navigation controller.