【问题标题】:present specific view by tapping on local notification通过点击本地通知呈现特定视图
【发布时间】:2014-08-10 09:10:22
【问题描述】:

我的应用中有 2 个本地通知。我想展示来自 notification1 的 view1 和来自 notification2 的 view2 。我该怎么做 ?而且我还想通过按主页按钮在进入非活动或背景状态之前的任何视图上显示它。

UILocalNotification *notif1=[UILocalNotification alloc]init];
UILocalNotification *notif2=[UILocalNotification alloc]init];
//when user tapped on notif1 
[self presentViewController:vc1 animated:YES completion:nil];
//when user tapped on notify2     
[self presentViewController:vc2 animated:YES completion:nil];  

【问题讨论】:

    标签: ios uilocalnotification presentviewcontroller


    【解决方案1】:

    您可以使用-application:didReceiveLocalNotification:notification 委托方法。

    在您的应用委托中,如下所示实现此委托并检查应用当前是否处于活动状态。如果不是,请告诉根视图控制器呈现您的新视图控制器。

    这是一个例子:

    - (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification {
        if (application.applicationState != UIApplicationStateActive) {
            ViewControllerName *viewController = [ViewControllerName new];
            [self.window.rootViewController presentViewController:viewController];
        }
    }
    

    您必须稍微修改一下以处理不同的通知;不过,这应该不会太难。

    【讨论】:

    • 我怎么知道用户点击了哪个通知?
    • @user2096064 ,要知道您必须通过查看通知参数的字典来检查通知参数的名称或键:notification.userInfo
    猜你喜欢
    • 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
    相关资源
    最近更新 更多