让 ViewControllers 访问 NavigationController 的好方法?

Posted

技术标签:

【中文标题】让 ViewControllers 访问 NavigationController 的好方法?【英文标题】:Good way to have ViewControllers accessing NavigationController? 【发布时间】:2011-03-08 17:07:59 【问题描述】:

我是 iPhone 编程的新手,我正在编写一个顶部有 NavigationBar 和几个连续 ViewController 的应用程序。

我想知道:我应该如何设计这样的东西?显然 ViewControllers 需要访问 NavigationController,但是怎么做呢?我创建了一个 UINavManagedViewController 存储对导航控制器的引用,并且所有视图控制器都派生自该类。

 @interface UINavManagedViewController : UIViewController 
     UIManagingNavigationController *navManager;
 
 @property (nonatomic, retain) UIManagingNavigationController *navManager;

 @end

但是,由于这显然是所有程序员都会遇到的事情,所以我想知道处理这种设置的默认方式。我的 iPhone 初学者编程书没有处理这种情况。

【问题讨论】:

【参考方案1】:

看看UIViewController class reference。所有 UIViewController 都已经有一个 navigationController 属性,它提供了对其父导航控制器的引用(如果存在的话)。

【讨论】:

navigationController 是否还有一个内置方法可以在推送新视图时将self 添加到该属性? 当您将视图推送到控制器时,它会自动添加。太棒了!

以上是关于让 ViewControllers 访问 NavigationController 的好方法?的主要内容,如果未能解决你的问题,请参考以下文章

《现代命令行工具指南》8. 备忘清单:让常用命令能够信手拈来 - navi

《现代命令行工具指南》8. 备忘清单:让常用命令能够信手拈来 - navi

如何从它的项目 ViewControllers 访问 UITabBarController 的变量

无法在 Xcode Storyboard 中为 ViewControllers 选择自定义类

迭代“活动”视图控制器

Magento-打印一个类别navi,隐藏特定的类别