0

У меня есть этот код:AddChildViewController проблема при добавлении UITableViewController имея UINavigationController

navtablecontroller = [[UITableViewController alloc] init]; 
navtablecontroller.tableView.delegate = self; 
navtablecontroller.tableView.dataSource = self; 

CGRect frame = self.view.frame; 
frame.origin.y = frame.origin.y + 83.0; 
frame.size.height = 200.0; 
navtablecontroller.view.frame = frame; 

navtablecontroller.title = @"mynameasdasd"; 
[self addChildViewController:navtablecontroller]; 
[self.view addSubview:navtablecontroller.view]; 
[navtablecontroller didMoveToParentViewController:self]; 

Это прекрасно создает UITableView на экране точно так, как упоминалось кадр.

Теперь я пытаюсь добавить UINavigationController и иметь этот UITableViewController как свой RootViewController.

UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:navtablecontroller]; 
nav.navigationBar.translucent = NO; 

А потом добавить это как мой childViewController я делаю:

[self addChildViewController:nav]; 
[self.view addSubview:nav.view]; 
[nav didMoveToParentViewController:self]; 

К сожалению, вместо создания UINavigationController в небольшой рамке, указанной в коде, весь экран заменяется UINavigationController.

Мне просто нужна эта маленькая рамка, чтобы иметь UINavigationController с UITableView как его rootviewcontroller, а не весь экран. Любые предложения?

ответ

0

Получил решение. Нужно установить рамку UINavigationController в кадр UITableViewController.

nav.view.frame = frame; 

Где рамка - это рамка UITableViewController.

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

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