2

我的应用程序中有一个启动画面。但是启动画面仅在应用程序从 xcode 运行时出现,并且在直接从模拟器启动时不出现。

请帮我。

谢谢。

4

3 回答 3

1

没有更多信息很难给出建议,但这听起来像你的应用程序在从 XCode 运行时需要更长的时间来加载,因为调试器将在启动等时附加,而从模拟器本身启动会更快启动 - 也许启动画面是在屏幕上停留的时间不足以让您看到它吗?

如果您在标准启动屏幕“defaultXXX.png”上实现了一个额外的启动屏幕,您能否详细说明您是如何编码的?

于 2010-06-30T07:27:17.763 回答
1

您使用的是哪个 SDK?如果您使用 4,则可能您的问题与多任务处理有关。在带有 iOS4 的模拟器中,当您启动您的应用程序时,如果应用程序之前打开过,您实际上会恢复您的应用程序而不是 lauch。当您从 XCode 启动应用程序时,它会将您的应用程序“复制”到模拟器并启动“新实例”。

于 2010-06-30T08:25:01.043 回答
1

在应用程序 delegate.h 类中

UIImageView *myImgView;
 //---------methods to show and hide splash----------
 -(void)ShowSplash;
 -(void)hideSplash;

在应用程序委托 .m 类中

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions
{
// Override point for customization after application launch.
   self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController" bundle:nil] autorelease];
[self ShowSplash];
[self.window makeKeyAndVisible];
return YES;
 }
 -(void)ShowSplash
 {
myImgView=[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];
myImgView.backgroundColor=[UIColor colorWithRed:0 green:.3 blue:0.5 alpha:1];
myImgView.image=[UIImage imageNamed:@"splashscreen.png"];
[self.window addSubview:myImgView];
[self performSelector:@selector(hideSplash) withObject:nil afterDelay:1];
 }

 -(void)hideSplash
 {  
[UIView beginAnimations:@"flipping view" context:nil];
[UIView setAnimationDuration:1.5];
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:myImgView.superview cache:YES];
[myImgView removeFromSuperview];
[UIView commitAnimations];
[myImgView release];
myImgView=nil;
self.window.rootViewController = self.viewController;

   }
于 2012-10-03T12:43:00.627 回答