我有这个代码:
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 而不是整个屏幕。有什么建议吗?