0

У меня есть UIViewController, добавленный в качестве childViewController в UIViewController.Как добавить представление таблицы к контроллеру навигации, который сам добавлен в качестве контроллера childview в 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]; 

Я затем добавить UINavigationController к 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"; 

ПРИМЕЧАНИЕ: Я делаю это, потому что мне нужно навигационный контроллер, чтобы быть в центре моего зрения (не занимая весь размер экрана).

Теперь я хочу добавить TableView к этому навигационному контроллеру и продолжить обычную навигацию. Как мне это сделать. Я не могу добавить табличное представление к этому контроллеру навигации.

+0

Вы не можете добавить представление таблицы в контроллер навигации. К контроллеру навигации можно добавить контроллер представлений, содержащий табличное представление. – Mundi

+0

Извините. Виноват. Я добавлял tableviewController. navtablecontroller = [[UITableViewController alloc] init]; [nav pushViewController: navtablecontroller animated: YES]; Но я не вижу таблицы. – Viggy

+0

ОК, я напишу ответ, который вы затем можете принять. – Mundi

ответ

0

Параметр, который вы передаете initWithRootViewController, неверен. Это должно быть вид 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"; 
+0

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

0

Вы не можете добавить представление таблицы для навигации контроллера. К контроллеру навигации можно добавить контроллер представлений, содержащий табличное представление.

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

  • Нет связанных вопросов^_^