编写自己的容器时,关于 UINavigationController 和 UINavigatinBar 的两个问题。
1) 我用故事板创建了我的初始容器并将其嵌入到 UINavigationController 中。我发现我的 childViewControllers 访问 UINavigationBar 的唯一方法是在 childViewController 的 viewDidLoad 中执行类似的操作:
UIBarButtonItem *showDetailViewControllerBBI = [[UIBarButtonItem alloc] initWithTitle:@"Show Details" style:UIBarButtonItemStyleBordered target:self action:@selector(switchToCarouselLayout:)];
self.parentViewController.navigationItem.leftBarButtonItem = showDetailViewControllerBBI;
这是获取 UINavigationBar 的正确方法吗?
2) 我想我可以在我最初的 ContainerViewController 上添加一个 UINavigationBar。我所做的是删除我的故事板中的 UINavigatinController 并将 UINavigatinBar 放在我的 containerViewController 的顶部。当我运行项目时,没有显示导航栏。那么如果我不能在我的初始容器视图控制器中拥有它而不嵌入到 UINavigationController 中,IB 中的 UINavigationBar 实际上会做什么?还是只是为了美观而只能与 UINavigationControllers 一起使用?谢谢。