其实这个方法早就知道,但是太久没用过,以至于潜意识中一直认为iOS程序只能通过home键退出。
退出程序只需要一条程序:
exit(0);
不过这个退出的效果确实很差,感觉就是程序直接崩溃了,而不是开发者蓄意为之。所以如果真用到这个方法,很多开发者都会做个退出动画让它看上去好看一些。
下面是网上比较多的一个动画:
<span style="font-size:18px;color:#009900;background-color: rgb(204, 204, 204);">- (void)existApp
{
[UIView beginAnimations:@"exitApplication" context:nil];
[UIView setAnimationDuration:0.5];
[UIView setAnimationDelegate:self];
// [UIView setAnimationTransition:UIViewAnimationCurveEaseOut forView:self.view.window cache:NO];
[UIView setAnimationTransition:UIViewAnimationCurveEaseOut forView:self.window cache:NO];
[UIView setAnimationDidStopSelector:@selector(animationFinished:finished:context:)];
//self.view.window.bounds = CGRectMake(0, 0, 0, 0);
self.window.bounds = CGRectMake(0, 0, 0, 0);
[UIView commitAnimations];
}
- (void)animationFinished:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context {
if ([animationID compare:@"exitApplication"] == 0) {
exit(0);
}
}</span>
上面的代码效果还不错,需要注意的是使用该方法的话程序会马上停止一切活动,包括AppDelegate中的进入后台或者程序即将推出的方法均不会调用。所以如果有要保存的数据开发者需要事先保存。