我想知道在他从后台回来之后我应该如何将用户带到我的应用程序的主屏幕。
当他从后台来的时候,我不想让用户一直到主屏幕。
但是只有当他点击我的推送通知提醒中的“查看”并且当时应用程序在后台时,我才会将他带到主屏幕。
但是,如果他一般从后台打开应用程序,他应该去上次他点击主页按钮并离开后台的地方
感谢任何帮助。
谢谢, 约杰什
答案 0 :(得分:0)
info.plist中有一个bool属性 - 应用程序不在后台运行
你应该根据你的要求改变它。
答案 1 :(得分:0)
好吧我不确定这是否正确的做法,但这就是我所做的,因为我的应用程序有一个tabbarcontroller,我做的第一件事就是我实现了tabbarcontroller“didSelectViewController”的委托方法< / p>
//每次选择一个标签时都会这样做,它将返回该标签的rootViewController
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController{
if ([viewController isKindOfClass:[UINavigationController class]]){
[(UINavigationController *)viewController popToRootViewControllerAnimated:NO];
}
}
然后在didReceiveRemoteNotification
上if(tabBarController.selectedIndex == 1){
UINavigationController *navigationController = (UINavigationController*)tabBarController.selectedViewController;
[navigationController popToRootViewControllerAnimated:NO];
[[[navigationController viewControllers ] objectAtIndex:0]viewWillAppear:YES];
}else{
self.tabBarController.selectedIndex = 1;
}
所以让我解释一下这是做什么的,它检查当前标签是否为1,如果是,那么它将从导航堆栈中删除所有视图以将视图带到根视图,如果当前标签不是1,然后将其设为1。