ChildviewController 的 UINavigationItem
Posted
技术标签:
【中文标题】ChildviewController 的 UINavigationItem【英文标题】:UINavigationItem of ChildviewController 【发布时间】:2015-02-03 11:02:40 【问题描述】:我有基本控制器和子视图控制器。我想在情节提要的基本控制器中创建UINvaigationItem
,以使子控制器继承它并显示。我在storyboard
中为基本控制器创建了这个UINavigationItem
。子控制器未从基本控制器显示此UINavigationItem
,并且它的属性全部为零。我怎样才能让 BaseController 中的 UINavigationItem
在 ChildViewControllers 中?
这是storyboard的图片,左边是Base Controller,右边是Child ViewControllers。
【问题讨论】:
我不确定我是否理解你的问题,你是在问如何做到这一点? 是的,如果你有一些想法,那就太好了 如果您有任何问题,请附上您的代码,并尝试重新表述问题以便更容易理解。 几乎没有代码,我会改写。我有基本控制器和子视图控制器。我想在情节提要的基本控制器中创建 UINvaigationItem ,以使子控制器继承它并显示。我在情节提要中为基本控制器创建了这个 UINavigationItem。子控制器未从 BASE 控制器显示此 UINavigationItem,并且它的属性全部为零。如何使 BaseController 中的 UINavigationItem 在 ChildViewControllers 中? 有人有什么想法吗? 【参考方案1】:基本上你不能取消继承 ChildViewController 中的 UINavigation,因为它是 UINavigation 中视图堆栈的一部分,但你可以调用
// hide navigation bar
self.navigationController.navigationBarHidden = YES;
这将隐藏 ChildViewController 上的导航栏
您可以使用 ChildViewController 中的pop
方法以编程方式控制导航堆栈
编辑
根据你的照片,我发现你还没有将 storyBoard 中的所有 ViewControlleres
连接到 navigationViewController。
我建议不要像你那样创建 UIViewController。 1) 只需添加和连接您希望在导航堆栈中的视图控制器
2) 选择它们并在 Xcode 菜单中转到 Editor->Embed in-> Navigation Controller
这样,所有视图都将包含在导航堆栈中并引用 UINavigationViewController
【讨论】:
这个答案是什么问题?请阅读我最后的评论。 您是如何创建导航栏的?从资产库中拖出?还是你嵌入了它? 我没有创建NavigationBar,导航栏是通过UINavigationController创建的。我为基本控制器创建 UINavigationItem 供孩子使用。 你可以添加你的故事板的照片吗? 我添加了故事板的照片以上是关于ChildviewController 的 UINavigationItem的主要内容,如果未能解决你的问题,请参考以下文章
从 ChildViewController 呈现 ModalView
自动将事件从 ChildViewController 传递到 parentViewController
如何在全屏 ChildViewController 上显示 UIPageControl?