在我的项目中添加启动画面

时间:2012-01-25 16:02:37

标签: iphone objective-c

我创建了一个由tabbarcontrollernavigationcontroller组成的项目。

第一个视图或第一个选项卡是tableview控制器。现在我需要在我的应用程序中添加一个启动画面,因此当应用程序加载时,它将显示一个欢迎屏幕,然后降落在tableviewcontroller上。

到目前为止我的工作;

这是我的viewDidLoad方法中添加的。

myImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"splash.jpg"]];
myImageView.frame = [[self view] frame];

[self.view addSubview:myImageView];    
[self.view bringSubviewToFront:self.myImageView];

问题是启动画面或UIImageView在tabbarController / NavigationController中加载,并且它不占用屏幕的整个宽度和长度。我该怎么做以编程方式解决这个问题?

6 个答案:

答案 0 :(得分:4)

在应用程序包中,您需要为Retina复制名为“Default.png”和“Default@2x.png”的初始屏幕图像。该应用程序将自动加载,您不需要做更多的工作。

这里有一个链接:http://iosdevelopertips.com/cocoa/defaultpng-the-secret-of-the-load-screen.html

答案 1 :(得分:4)

将要使用的图像添加到项目的资源中,并将它们命名为Default.pngDefault@2x.png(如果您为视网膜屏幕提供它)。确保没有确切的名字。如果大写错误,它将在模拟器中工作(不区分大小写),但不在设备上(区分大小写)。

请注意,Apple人机界面指南不鼓励使用“启动画面”:

enter image description here

答案 2 :(得分:0)

您是否已在目标设置中查看了启动图像?

答案 3 :(得分:0)

您可能希望在app delegate的didFinishLaunchingWithOptions方法中添加启动画面。然后开始淡出动画(或任何你需要的动画)。最后在动画完成时删除启动画面视图。

答案 4 :(得分:0)

您必须将UIImageView添加到根视图中:

  UIView *rootView = [[[[UIApplication sharedApplication] delegate] viewController] view];
  [myImageView setFrame:rootView.bounds];
  [rootView addSubview:myImageView];

答案 5 :(得分:0)

您可以使用uiimage视图添加图像数组来播放动画,请尝试以下操作 代码

    -(void)viewDidAppear:(BOOL)animated {
    animationSplashImageView.animationImages = imageArray;
    animationSplashImageView.animationDuration = 5;
    animationSplashImageView.animationRepeatCount = 1;
    [animationSplashImageView startAnimating];
} 


IBOutlet UIImageView* animationSplashImageView; 

是在您应用的主视图中定义的。

你也可以使用Apple App Store上的工具Splashx Free来测试你的飞溅:http://itunes.apple.com/cn/app/splashx-free/id500137095?mt=8