我有一个应用程序,其中有3个选项卡来计算距离和所有。当我第一次启动应用程序时,在点击第3个标签页时,正在发生一些网络通话。现在我把应用程序放到后台。 当应用程序到达前台时,应该调用viewwillappear再次进入网络调用。但它没有发生。它并没有叫viewwillappear。iPhone viewwillappear进入前景应用程序
如何检查,当应用程序涉及到前台,就应检查第三个标签,并呼吁网络方法
请帮我
我有一个应用程序,其中有3个选项卡来计算距离和所有。当我第一次启动应用程序时,在点击第3个标签页时,正在发生一些网络通话。现在我把应用程序放到后台。 当应用程序到达前台时,应该调用viewwillappear再次进入网络调用。但它没有发生。它并没有叫viewwillappear。iPhone viewwillappear进入前景应用程序
如何检查,当应用程序涉及到前台,就应检查第三个标签,并呼吁网络方法
请帮我
- (void)applicationDidEnterBackground:(UIApplication *)application
{
// Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
// If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
}
- (void)applicationWillEnterForeground:(UIApplication *)application
{
NSLog(@"%d",tabBar.selectedIndex);
if (tabBar.selectedIndex == 2) {
NSLog(@"Your work");
}
}
- (void)applicationDidEnterBackground:(UIApplication *)application
{
//save in NSUserDefaults (or wherever) which tab is currently active
}
- (void)applicationWillEnterForeground:(UIApplication *)application
{
// read from NSUserDefaults which tab was active before,
// and use an IF statement to control the further behavior
}
当应用程序涉及到前台,
- (void)applicationWillEnterForeground:(UIApplication *)application;
的应用程序委托被调用。在这种方法中,你将不得不宣布BOOL TAB3中的appdelegate
- (void)applicationDidBecomeActive:(UIApplication *)application;
用于检查您可以使用的选定选项卡项目:self.tabBarController.tabBar.selectedItem.tag或UITabBarController有一个selectedViewController和一个selectedIndex属性。 –
- (void)applicationDidEnterBackground:(UIApplication *)application {
if(tab3){
[viewController3 netWorkCallFromHere];
}
}
:
您可以重新启动所有暂停的任务英寸
在第三个viewController中设置为true,并在另一个viewController中将其设置为false。
当它从后台返回时,它会检查标志,它会相应地工作。
你只想在应用程序进入前台时调用该网络调用吗? –
是的,但它应该检查是否选择了第三个选项卡。否则它不应该调用 – user1001011
是的..是否Rajneesh已经写了...在applicationWillEnterForeground中调用该网络调用函数 –