4

在我的应用程序中,我正在排队一些本地通知,当它们触发时,我必须呈现一个模态视图。问题是我有许多视图控制器,其中任何一个当前都可能处于活动状态,因此需要呈现模态视图控制器。如何确定当前正在使用哪一个?

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

我有很多视图控制器,所以想避免在每个视图控制器中放入代码,以检查它们当前是否是最上面的。

4

2 回答 2

9

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

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

于 2012-06-29T03:23:05.330 回答
0

创建一个变量来存储指向最近推送的 ViewController 的指针。每次推送新的 ViewController 时,更新此变量。然后,您将永远知道哪个在顶部!

于 2012-06-29T03:23:35.177 回答