繁体   English   中英

如何确定哪个视图控制器当前处于活动状态/显示视图的视图控制器?

[英]How to determine which view controller is currently active/the one displaying a view?

在我的应用程序中,我正在排队一些本地通知,当他们开火我必须提出模态视图。 问题是我有许多视图控制器,其中任何一个当前都可以是活动的,因此需要提供模态视图控制器。 如何确定当前使用的是哪一个?

我正在将导航控制器设置为Windows根视图控制器,这可以推送任意数量的其他视图控制器,其中一些本身也可能正在以模态方式呈现另一个视图控制器。 这必须适用于iOS 4和5。

我有很多视图控制器,所以我们希望避免将每个视图中的代码放到每个检查中,如果它们当前是最顶层的。

您可以查看导航控制器的topViewController属性,找出哪个控制器位于堆栈顶部。 这将是显示其视图的那个。

由于您可能还在展示模态视图控制器,因此您可能对visibleViewController属性更感兴趣,该属性将为您提供当前视图的控制器,无论其是以模态方式呈现还是推送到导航堆栈。

创建一个变量,该变量存储指向最近推送的ViewController的指针。 每次推送新的ViewController时,都要更新此变量。 然后你总会知道哪一个在顶部!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM