iPhone的SDK只提供了以下的API退出應用程式:
[cpp]
view plaincopy
- exit(0);
但是這種方法沒有動畫效果就直接退出程式,給使用者的感覺是程式發生異常而退出了。
網上還有一種退出程式的方法,就是使用未公開的API,這種方法更不靠譜,因為使用未公開API的使用是不能通過AppStore申核的,而且我在4.0版本中實驗是無效的。
那麼只能使用exit(0)退出應用。考慮到這種方式只是缺少退出時的動畫效果,那麼可以加上一個動畫,動畫完成後再調用exit退出程式。
[cpp]
view plaincopy
- - (void)exitApplication {
- [UIView beginAnimations:@"exitApplication" context:nil];
- [UIView setAnimationDuration:0.5];
- [UIView setAnimationDelegate:self];
- [UIView setAnimationTransition:UIViewAnimationCurveEaseOut forView:self.window cache:NO];
- [UIView setAnimationDidStopSelector:@selector(animationFinished:finished:context:)];
- 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);
- }
- }
iPhone的SDK只提供了以下的API退出應用程式:
[cpp]
view plaincopy
- exit(0);
但是這種方法沒有動畫效果就直接退出程式,給使用者的感覺是程式發生異常而退出了。
網上還有一種退出程式的方法,就是使用未公開的API,這種方法更不靠譜,因為使用未公開API的使用是不能通過AppStore申核的,而且我在4.0版本中實驗是無效的。
那麼只能使用exit(0)退出應用。考慮到這種方式只是缺少退出時的動畫效果,那麼可以加上一個動畫,動畫完成後再調用exit退出程式。
[cpp]
view plaincopy
- - (void)exitApplication {
- [UIView beginAnimations:@"exitApplication" context:nil];
- [UIView setAnimationDuration:0.5];
- [UIView setAnimationDelegate:self];
- [UIView setAnimationTransition:UIViewAnimationCurveEaseOut forView:self.window cache:NO];
- [UIView setAnimationDidStopSelector:@selector(animationFinished:finished:context:)];
- 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);
- }
- }