2012-03-13 85 views
3

在我的应用程序中,我需要显示启动画面。我从URL收集图像并将其保存为文档文件夹中的Default.pngiPhone:从文档文件夹中显示启动屏幕

我成功保存了图像并收集了路径。

我的问题是它没有显示。我没有得到任何错误,并且在日志中我也得到了正确的路径。

这是我的代码:

NSString *workSpacePath=[[self applicationDocumentsDirectory] stringByAppendingPathComponent:@"/Default.png"]; 
    imgView=[[UIImageView alloc] init]; 
    imgView.image=[UIImage imageWithData:[NSData dataWithContentsOfFile:workSpacePath]];  

    [self.view addSubview:imgView]; 

workSpacePath得到了正确的路径。

+0

在这个应用程序生命周期的哪个阶段你这样做? 'self.view'还存在吗? – FluffulousChimp 2012-03-13 11:17:52

+0

@nitin如何将您的文件保存在文档文件夹中。你能告诉我吗? – ios 2012-03-13 11:19:29

+1

**无法从文档目录中显示启动画面。它必须位于应用程序包中。** – 2012-03-13 11:19:57

回答

6

请勿用[UIImage imageNamed:]方法覆盖图像。此方法仅适用于您的软件包中的图像。它将返回nil作为文档目录中的路径。因为你设置了imgView.image无。这意味着,删除图像。

这应该工作:

NSString *workSpacePath=[[self applicationDocumentsDirectory] stringByAppendingPathComponent:@"Default.png"]; 
imgView=[[UIImageView alloc] init]; 
imgView.image=[UIImage imageWithData:[NSData dataWithContentsOfFile:workSpacePath]];  
//imgView.image=[UIImage imageNamed:workSpacePath]; 
[self.view addSubview:imgView]; 

但你不能取代 “真正的” 闪屏。但是,原始启动画面消失后,您可以显示不同的图像。

+0

如何将文档文件夹中的图像添加到应用程序包中? – nithin 2012-03-13 11:37:03

+0

你不能。应用程序包是只读的。 – 2012-03-13 11:48:43

+0

有什么方法可以显示从Web服务器解析的启动画面? – nithin 2012-03-13 11:53:55

3

“Splashscreen”在通常名为Default.png的图像中,位于应用程序包中。 由于您不允许更改应用程序包的内容,因此无法更改应用程序的“splashscreen”。

+0

如何将文档文件夹中的图像添加到应用程序包中? – nithin 2012-03-13 11:37:13

+0

你不能。由于您无法更改应用包的内容。 – rckoenes 2012-03-13 12:10:32

1

Default.png应捆绑在应用程序包中。它不能像你需要的那样通过外部路径加载,即从文档目录路径加载。

一个自定义的解决方案是,您应该创建您的视图作为启动页面,它将充当启动屏幕并在一段时间后消失。

0

你正在做的事情的方式好像你只是试图在imageview中显示图像 - 我不关心更换默认初始屏幕图像,因为你不能这样做,但对于你,你应该只做:

imgView.image=[UIImage imageWithData:[NSData dataWithContentsOfFile:workSpacePath]]; 
imageView.frame = CGRectMake(0,0,self.view.frame.size.width,self.view.frame.size.height); 
[self.view addSubview:imgView]; 
相关问题