【问题标题】:How to go to a specific view when clicking a message in iPhone notification center?在 iPhone 通知中心单击消息时如何转到特定视图?
【发布时间】:2012-06-17 05:42:35
【问题描述】:

请给我一些关于这个案例的提示。我有一个可以接收推送通知的 iPhone APP。当我在通知中心点击这个通知时,我的APP就会启动。有没有办法配置我的APP中的屏幕根据收到的通知而不是默认屏幕显示。应该是可以的,因为我在一些APP中看到过这些行为。搜索答案后,我得到了以下方法,但是如果应用程序在后台并且我单击通知中心中的消息 didFinishLaunchingWithOptions 并且不会调用 didReceiveRemoteNotification ,而是会调用 applicationWillEnterForeground 。在这种情况下,如何将数据传递给应用程序。

(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

}

// will be called when in foreground
(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {    

 }

【问题讨论】:

    标签: iphone ios storyboard apple-push-notifications


    【解决方案1】:

    在提供的委托方法didReceiveRemoteNotification中呈现您想要的UI或功能是一件简单的事情。

    我不使用故事板,但您应该能够交换应用程序的当前根视图,或者在触发该方法时提供不同的功能。

    你的问题有点含糊,因为你已经知道如何去做了。

    【讨论】:

    • 最简单的方法是在故事板中创建一个视图控制器并给它一个标识符。使用UIStoryboard 的instanceViewControllerWithIdentifier 方法(将相同的标识符作为参数),您将获得对该视图控制器的引用。然后,您可以以模态方式显示它或将其推送到导航堆栈上。如果这不能回答您的问题,您必须澄清您的问题。
    【解决方案2】:

    userInfo 或launchOptions 字典将包含有关正在发送的通知的信息。您可以根据这些通知(例如通知的标题或发送的日期/时间)决定要显示的视图。

    【讨论】:

    • 谢谢,其实我知道如何获取信息,但我不知道如何在Storyboard APP中显示特定屏幕。你能告诉我吗?
    • 抱歉,我刚刚查过了。如果应用程序在后台,我单击通知中心的消息。不会调用 didFinishLaunchingWithOptions 和 didReceiveRemoteNotification,而是调用 applicationWillEnterForeground。在这种情况下,如何将数据传递给应用程序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多