【发布时间】:2012-06-02 07:22:02
【问题描述】:
存储数十甚至数百张应该捆绑在 iPhone 应用程序中的 png 图像的最佳做法是在哪里?
是否有办法使用 UIImagePickerController 访问它们,还是我必须自己创建一些其他方法来访问它们?
另外,捆绑它们的最佳做法是什么?应用内捆绑或让应用从服务器下载它们?
【问题讨论】:
标签: ios bundle file-management
存储数十甚至数百张应该捆绑在 iPhone 应用程序中的 png 图像的最佳做法是在哪里?
是否有办法使用 UIImagePickerController 访问它们,还是我必须自己创建一些其他方法来访问它们?
另外,捆绑它们的最佳做法是什么?应用内捆绑或让应用从服务器下载它们?
【问题讨论】:
标签: ios bundle file-management
所有大公司的最佳做法是将所有小图像作为单个大图像传输,然后在客户端呈现您想要的任何图像。
你可以找到很多很好的例子。我觉得这很有趣http://yuilibrary.com/yui/docs/dd/photo-browser.html#slider-and-stylesheet..查看 js 文件,其中包含 yui 包和所有图像捆绑为单个图像
【讨论】:
如果您需要离线使用图片,我会将其放入您的应用程序包中。我会创建一个物理文件夹并将其拖到 Xcode 项目中,然后选择创建文件夹引用,它应该显示为蓝色文件夹图标。将所有 png 文件放在该文件夹中。
要获取该文件夹中所有文件的列表:
NSString *filesPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"pngfolder"]; // where pngfolder is the folder as described above.
NSArray *filesList = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:filesPath error:nil];
读取索引 i 处的单个图像文件,例如在上面的 filesList 数组中:
NSString *sourcePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:[filesList objectAtIndex:i]];
UIImage *img = [[UIImage alloc]initWithContentsOfFile:sourcePath];
【讨论】: