2011-01-10 142 views
0

我有疑问。我正在构建一个应用程序,其中如果提交了新的请求,我会在我的应用程序中获取推送通知,并在推送通知警报中点击“查看”按钮时,我需要显示请求详细信息页面。现在,通常这个请求细节页面是堆栈中的第五个视图。我该如何处理?在进入详细页面之前,我应该初始化前4个视图并将它们放到堆栈上吗?推送通知警报处理

另外,如果有人正在应用程序的某个部分工作并发出通知,则会出现这种情况。在这种情况下,我应该放松当前打开的页面上的更改,并在“查看”被点击时显示请求详细信息?

我该如何处理?

回答

1

您可以推动该视图(通常的第5个视图)。唯一的一点是,当你弹出该视图时,它现在将作为第二个视图,所以它们不需要再经过4个附加视图。

1

您可以初始化并将5个视图推送到您的导航控制器(使用animate:NO)以在正确的位置启动应用程序。

至于如果您在运行时收到通知,那真的取决于您,对于应用程序来说最适合。您可以在删除任何数据之前始终提示用户。请注意,如果您收到推送通知,您的application:didReceiveRemoteNotification:而不是的警报显示。

+0

好的。如果我的应用程序需要验证,那么在显示请​​求详细信息页面之前,我是否也需要用户凭证?这是当我的应用程序没有运行并且推送通知出现时。 – Abhinav 2011-01-10 22:22:19

1

这通常通过模态显示控制器来实现。

这样您就不必重新创建视图控制器层次结构,并且在运行时不会丢失应用程序的当前上下文。用户点击一些“确定”按钮并返回到前一个屏幕。

+0

如果我在屏幕上显示一些操作,一旦有通知来显示,该怎么办......喜欢分配给自己和其他东西? – Abhinav 2011-01-10 22:11:25

+0

正如丹尼尔所说,当你收到通知时,你可以显示一个警报视图,询问用户他是想打开特定的控制器还是他更愿意忽略它。 – Jilouc 2011-01-10 22:19:09

0

对于你的问题的第一部分:如果你已经以分离的方式创建了你的视图,也就是说,如果它不依赖于其他4个视图 - 我想你可以显示这个视图没有问题。很明显,答案取决于您的业务规则是否允许这样做。

至于你的问题的第二部分:你总是可以向你的用户显示一个UIAlertView,询问他们是否想对收到的推送通知采取行动。

但是 - 我认为这些问题确实与推送通知的性质没有任何关系,您真的应该松开“我对推送通知存在疑问”部分的问题:) ....

希望这会有所帮助:)