【问题标题】:Best place to 'bundle' your application images in iPhone app在 iPhone 应用程序中“捆绑”应用程序图像的最佳位置
【发布时间】:2012-06-02 07:22:02
【问题描述】:

存储数十甚至数百张应该捆绑在 iPhone 应用程序中的 png 图像的最佳做法是在哪里?

是否有办法使用 UIImagePickerController 访问它们,还是我必须自己创建一些其他方法来访问它们?

另外,捆绑它们的最佳做法是什么?应用内捆绑或让应用从服务器下载它们?

【问题讨论】:

    标签: ios bundle file-management


    【解决方案1】:

    所有大公司的最佳做法是将所有小图像作为单个大图像传输,然后在客户端呈现您想要的任何图像。

    你可以找到很多很好的例子。我觉得这很有趣http://yuilibrary.com/yui/docs/dd/photo-browser.html#slider-and-stylesheet..查看 js 文件,其中包含 yui 包和所有图像捆绑为单个图像

    【讨论】:

    • 只有网上申请吗?对于离线应用,你有什么想法吗?顺便说一句,你的回答真的很棒。
    • 离线申请是什么意思?
    • 感谢您的回复。这是保存 HTTP 请求和“预加载”图像的好方法(创建图像精灵),如果应用程序是基于 HTML5 的,这将是一个很好的解决方案。由于我在询问本机应用程序(我想我应该这么说),所以我标记了另一个答案,但无论如何谢谢!
    【解决方案2】:

    如果您需要离线使用图片,我会将其放入您的应用程序包中。我会创建一个物理文件夹并将其拖到 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];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-12
      • 1970-01-01
      • 2011-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多