2011-11-04 58 views

回答

1

因此,在项目plist中有一个选项。选项是“应用程序不在后台运行”,将其设置为YES。

2

当您按下主页按钮时,您的应用程序将暂停;它通常不会终止。因此,当您再次启动它时,它将从之前的状态恢复。

如果您希望您的应用程序终止,您需要在目标信息属性(Info.plist)中将“应用程序不在后台运行”设置为YES。

如果您希望在后台运行,但在启动时始终转到特定视图,则需要在applicationDidBecomeActive:中进行设置。

0

您可以创建这样一个功能:

- (void) dropWithViewController:(UIViewController*)vc { 
    if([vc modalViewController]){ 
     [self dropWithViewController:[vc modalViewController]]; 
     [vc dismissModalViewControllerAnimated:NO]; 
    } else if([vc isKindOfClass:[UINavigationController class]]){ 
     [self dropWithViewController:[(UINavigationController*) vc topViewController]]; 
     UINavigationController *nc = (UINavigationController*)vc; 
     for(int i=0;i<[[nc viewControllers] count]-1;i++){ 
      [nc popViewControllerAnimated:NO]; 
     } 
    } else if([vc isKindOfClass:[UITabBarController class]]){ 
     [self dropWithViewController:[(UITabBarController*) vc selectedViewController]]; 
    } else { 
     //you're at the last view, on return it will start going back 
     return; 
    } 
} 

然后调用它时,应用程序正进入后台(参见UIApplicationDelegate, - (空)applicationDidEnterBackground:(UIApplication的*)应用程序):

- (void)dropAllViewControllers{ 
    UIViewController *firstViewController = [[[UIApplication sharedApplication]keyWindow] rootViewController]; 
    [self dropWithViewController:firstViewController]; 
}