我问了几次这个问题,我尝试了几种不同的方法,但是没有成功。
我尝试过的最新方法如下:
我包括了要显示的ViewController。然后,我将此代码放入didReceiveRemoteNotification
方法中。
CarFinderViewController *pvc = [[CarFinderViewController alloc] init];
// [self.window.rootViewController presentViewController:pvc animated:YES completion:nil];
[(UINavigationController *)self.window.rootViewController pushViewController:pvc animated:NO];
这没有用。我认为我可能遇到的问题是,我的初始视图不是像许多示例所示的导航控制器。
这是我的故事板的图片>我要发送给用户的VC是寻车器(右下)
有人可以向我解释我可能做错了什么吗?
最佳答案
收到远程通知时,基本上可以使用postNotification
像这样在您的didReceiveRemoteNotification
发布通知中进行展示
[[NSNotificationCenter defaultCenter] postNotificationName:@"pushNotification" object:nil userInfo:userInfo];
现在在
FirstViewController
中,您可以像这样注册此通知的FirstViewController[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(pushNotificationReceived) name:@"pushNotification" object:nil];
和你的方法
-(void)pushNotificationReceived{
CarFinderViewController *pvc = [[CarFinderViewController alloc] init];
[self presentViewController:pvc animated:YES completion:nil];
}
不要忘记从
dealloc
方法的通知中删除观察者-(void)dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
关于iphone - 从didReceiveRemoteNotification打开 View ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15139744/