我创建了一个由tabbarcontroller
和navigationcontroller
组成的项目。
第一个视图或第一个选项卡是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中加载,并且它不占用屏幕的整个宽度和长度。我该怎么做以编程方式解决这个问题?
答案 0 :(得分:4)
在应用程序包中,您需要为Retina复制名为“Default.png”和“Default@2x.png”的初始屏幕图像。该应用程序将自动加载,您不需要做更多的工作。
这里有一个链接:http://iosdevelopertips.com/cocoa/defaultpng-the-secret-of-the-load-screen.html
答案 1 :(得分:4)
将要使用的图像添加到项目的资源中,并将它们命名为Default.png
和Default@2x.png
(如果您为视网膜屏幕提供它)。确保没有确切的名字。如果大写错误,它将在模拟器中工作(不区分大小写),但不在设备上(区分大小写)。
请注意,Apple人机界面指南不鼓励使用“启动画面”:
答案 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