我想在应用程序加载数据时在闪屏上显示一张GIF图像。
我有一个启动图像,它至少显示了大约3到4秒,这就是为什么我想在启动图像上显示加载文本,比如gif图像,这样用户就会认为应用程序正在加载。
发布于 2012-05-15 20:34:40
只需向开机画面添加一个标签和一个NSTimer,它会定期更改其文本,如下所示
splash = [[UIImageView alloc] initWithFrame:self.window.frame];
splash.image = [UIImage imageNamed:@"splash"];
[self.window addSubview:splash];这是我用来显示闪屏的代码,然后
NSTimer *loading = [[NSTimer alloc]init];
[loading performSelector:@selector(YOUR_SELECTOR) withObject:YOUR_LABEL afterDelay:0.3f];其中,YOUR_SELECTOR是用于设置标注文本的方法,YOUR_LABEL是用于设置文本的标注
编辑为NSTimer道歉实际上我使用的是活动指示器和文本加载...application:didFinishLaunchingWithOptions:方法中
它的代码是
splash = [[UIImageView alloc] initWithFrame:self.window.frame];
splash.image = [UIImage imageNamed:@"splash"];
[self.window addSubview:splash];
hud = [[MBProgressHUD alloc]initWithView:splash];
[splash addSubview:hud];
hud.labelText = @"Loading...";
[hud show:YES];
[self performSelector:@selector(Load_FirstView) withObject:nil afterDelay:3];
[self.window makeKeyAndVisible];Load_FirstView方法如下所示
-(void)Load_FirstView
{
[splash removeFromSuperview];
MasterViewController *masterViewController = [[MasterViewController alloc] initWithNibName:@"MasterViewController" bundle:nil];
self.navigationController = [[UINavigationController alloc] initWithRootViewController:masterViewController];
self.navigationController.navigationBar.tintColor = [UIColor blackColor];
masterViewController.managedObjectContext = self.managedObjectContext;
self.window.rootViewController = self.navigationController;
[self.window makeKeyAndVisible];
}发布于 2012-05-15 20:28:26
如果将Default.png用作开机画面,则无法对其进行动画处理。一种方法是更快地启动应用程序,然后在加载数据的过程中显示动画视图。因此,基本上您唯一的解决方案就是远离Default.png,转而使用一个可以进行动画处理的自定义视图。
发布于 2012-05-15 20:30:13
首先使用Default.png,然后加载一个包含单个UIImageView的UIView,其中的帧与UIView相同(整个屏幕)。将Default.png设置为ImageView的UIImage,并根据需要添加任何控件(如UIActivityIndicatorView)。
https://stackoverflow.com/questions/10600371
复制相似问题