2011-06-07 87 views
0

我想了解如何让用户到我的应用程序的主屏幕后,他从背景回来。从后台转到iphone的应用程序的主屏幕

我不想让用户一直在主屏幕上,当他来自后台时。

但是,只有当他在我的推送通知提醒中点击“查看”并且该应用当时在后台时,我才想将他带到主屏幕。

但如果他从背景中一般打开的应用程序,他应该去他离开的地方永远关闭他最后一次点击主页按钮,去到后台

任何帮助表示赞赏。

感谢, 约杰什

+0

我还没有与推送通知一起工作,但我可以告诉你,你的应用程序应该在打开home按钮后打开它,然后恢复 - 这是iOS多任务属性的一部分4.关于在收到通知后在特定部分打开,请检查链接的线索并多搜索一下。 http://stackoverflow.com/questions/3968372/is-there-a-way-to-open-my-application-on-a-specific-tab-upon-receiving-a-push-not – Luke 2011-06-07 19:00:16

+0

嗨氪,是的我知道我可以使用给定的选项卡,但是我遇到的问题是因为我的所有选项卡都是导航堆栈,选项卡被深埋到堆栈中,我需要将其带入根目录,然后再次将它推入给定查看,这就是我发现它很难 – Yogesh 2011-06-08 14:05:22

回答

0

好吧我不知道这样做是否正确的方式,但这就是我所做的,因为我的应用程序有一个tabbarcontroller我做的第一件事是我实现了tabbarcontroller“didSelectViewController”的委托方法,

//通过此选择一个选项卡,每次做会回到该选项卡的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.

0

在有一个的Info.plist布尔属性 - 应用程序不能在后台

运行,你应该根据你的要求改变这种状况。

+0

iAmitWagh,雅有一个属性,但是启用或禁用背景的事情,我想在背景上运行我的应用程序,因为我在背景上做一些东西 – Yogesh 2011-06-08 14:03:05

相关问题