从后台返回后转到 iphone 应用程序的主屏幕
Posted
技术标签:
【中文标题】从后台返回后转到 iphone 应用程序的主屏幕【英文标题】:go to home screen of the iphone app after coming from background 【发布时间】:2011-06-07 18:45:54 【问题描述】:我试图找出在用户从后台返回后,我应该如何将用户带到我的应用程序的主屏幕。
我不想让用户从后台一直到主屏幕。
但只有当他在我的推送通知警报上单击“查看”并且当时应用程序处于后台时,我才想将他带到主屏幕。
但是,如果他通常从后台打开应用程序,他应该去上次点击主页按钮并进入后台时离开的地方
感谢任何帮助。
谢谢, 尤格什
【问题讨论】:
我没有使用过推送通知,但我可以告诉你,你的应用应该在点击主页按钮然后恢复后打开——这是 ios 4 多任务处理特性的一部分。至于在收到通知后在特定部分打开,请检查链接的线程并再搜索一下。 ***.com/questions/3968372/… 嗨,氪,是的,我知道我可以使用给定的选项卡,但我遇到的问题是,由于我的所有选项卡都是导航堆栈,这些选项卡都深埋在堆栈中,我需要携带它扎根,然后再次将其推入给定视图,这就是我发现的困难 【参考方案1】:info.plist中有一个bool属性--应用程序不在后台运行
你应该根据你的要求改变它。
【讨论】:
iAmitWagh,有一个属性,但那是启用或禁用后台的东西,我想在后台运行我的应用程序,因为我在后台做一些事情【参考方案2】:好的,我不确定这种做法是否正确,但这就是我所做的,因为我的应用程序有一个 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。
【讨论】:
以上是关于从后台返回后转到 iphone 应用程序的主屏幕的主要内容,如果未能解决你的问题,请参考以下文章