0

我有一个带有根表视图的导航控制器,它有几个链接。点击每个链接移动到下一个视图(通过将其推送到导航控制器的堆栈)。但是假设在那个“下一个视图”中,我有一个 UIButton 应该把我带到另一个视图(通过推送到同一个导航控制器的堆栈)......

视图控制器-->第一个视图-->第二个视图-->第三个视图............

现在,当我处理第一个视图(并成功将其推送到导航控制器的堆栈)时,我可以轻松访问导航控制器,因为它已在同一个文件本身中实例化。我真正的疑问是——你如何在一个遥远的视图控制器(例如,第三个视图或第四个视图等)中访问一个导航控制器?请注意,我没有使用任何单独的代表。所有导航栏方法都在一个文件中实现,并通过插座连接到导航控制器。

4

1 回答 1

1

当您将 ViewController 推送到 NavigationController 上时,ViewController 将自动设置其 navigationController 属性。这意味着无论您在堆栈中的哪个位置,都可以访问相同的 NAvigationController。

-更新-

navigationController

在每个 UIViewController 中,您都可以访问该属性。因此,在任何其他已推送到堆栈的 UIViewController 中,您应该能够做到这一点:

[self.navigationController pushViewController:othercontroller animated:YES];

查看UIViewController的文档以了解您还有哪些其他可用的魔法属性。

于 2010-07-14T07:35:48.247 回答