首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >iOS单击推送通知打开具体视图控制器

iOS单击推送通知打开具体视图控制器
EN

Stack Overflow用户
提问于 2014-02-03 20:19:29
回答 1查看 1.2K关注 0票数 0

当用户点击推送通知时,是否可以打开具体的viewcontroller

我有新闻应用,主视图控制器有很多新闻,当用户点击一些新的,我打开下一个视图控制器与这个新闻的描述。

当用户点击推送通知时,我如何才能打开第二视图控制器?

我试着将Notification发送到我的UINavigationController并推送两个控制器,但是它不能正常工作,它只打开第一个视图控制器。

EN

回答 1

Stack Overflow用户

发布于 2014-02-03 21:52:24

当您点击本地通知或推送通知时,您可以处理应用程序,在AppDelegate.m中实现application:didReceiveLocalNotification:application: didReceiveRemoteNotification:方法

代码语言:javascript
运行
复制
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {

}

-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification {

}

如果您的应用程序已关闭(而不是在后台),您可以验证是否收到了

代码语言:javascript
运行
复制
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

    NSDictionary *userInfo = [launchOptions objectForKey: UIApplicationLaunchOptionsRemoteNotificationKey];
    if ( userInfo != nil )
        [self application:application didReceiveRemoteNotification:userInfo];
}

我不知道您是如何处理新闻的,但您可以向主视图控制器发送通知,通知您已经收到通知,传递"id“或新消息,然后创建第二个视图控制器(您需要验证您的MainViewController是否已经在NavigationController堆栈中创建):

代码语言:javascript
运行
复制
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {

    [[NSNotificationCenter defaultCenter] postNotificationName:@"IHaveReceivedANotification" object:nil userInfo:userInfo];

}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21536897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档