2

我正在阅读 Apple 文档,但我不明白什么是根控制器。文档说这是堆栈底部的控制器。也许,这是我第一次推送的控制器吗?任何人都可以解释这个概念吗?

从 Apple doc UINavigationController,我看到有一个名为 initWithRootViewController 的方法

初始化并返回一个新创建的导航控制器。- (id)initWithRootViewController:(UIViewController *)rootViewController

这是什么意思?那么,是否可以更改根视图控制器?

4

2 回答 2

2

请记住,这rootViewController不是对象类型,而是属性名称。正如 Nubbel 所说,它恰好是UIViewController堆栈底部的特定实例。

诸如此类initWithRootViewController的方法适用于您想要初始化的情况UINavigationController,并且还告诉它“将此 VC 用作层次结构中的第一个 VC”。

似乎UINavigationController真的不希望您在创建该属性后更改它,但看起来 ppl 已经找到了方法: - 请记住检查评论以查看这是否是“批准”的工作方法。

于 2011-10-01T22:16:10.683 回答
1

就像文档和您已经说过的那样,它是堆栈底部的控制器,第一个压入堆栈的控制器。后续控制器将被推送到 RootViewController 之上。要返回 RootViewController,您可以使用该popToRootViewControllerAnimated:方法。此外,您不能更改 RootViewController!

于 2011-04-16T10:19:04.273 回答