在我的xcode项目中,我有一些视图和标签栏控制器。当我打开我的应用程序时,第一个视图出现了。我还有一个服务器向应用程序发送一些推送通知。
我使用AppDelegate.m
:
- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo {
for (id key in userInfo) {
NSLog(@"key: %@, value: %@", key, [userInfo objectForKey:key]);
}
}
我的问题是:当我打开通知时,如何打开特定视图(在本例中称为“AnswerDetailsVC
”)?从标签栏上的第4个视图打开特定视图。
答案 0 :(得分:0)
如果检测到推送通知有效负载是打开AnswerDetailsVC
的正确值,只需设置标签栏的选定标签,如下所示:
// Open 4th tab in tabbar
self.tabBarController.selectedIndex = 3;
编辑: 您可以在给定选项卡上访问控制器并调用所需的任何公共方法。因此,您可以手动调用按钮操作或准备公共方法,该方法在通知后生成您想要执行的操作,并在收到通知时调用它
示例代码:
// Get controller at given tab
AnswerDetailsVC *myController = (AnswerDetailsVC *)[[self.tabBarController viewControllers] objectAtIndex:2];
// Call button action or whatever public method you want
[myController buttonAction:nil];