iOS 7:在运行时动态设置图像(用于背景图像或视图)?

时间:2014-07-30 22:41:04

标签: ios

我有一个针对不同客户的应用程序,客户需要为同一个应用程序拥有自己的徽标和不同的背景颜色(当然需要为每个客户端提供更多自定义)。每周左右,我都会收到部署新客户端的请求以及新的徽标/图像。我想有一个部署应用程序,通过客户端的iD,我将能够从服务器下载所有他们的徽标/图像(因为我已经准备好了)并将它们注入我拥有的相同通用应用程序使其更容易部署为新客户端。我的应用程序是一个基于Web的应用程序,我从服务器获取大部分数据。我知道捆绑包是只读的,我不想在一个应用程序中保留所有可能的图像/徽标,我不想尽可能多地手动制作(我现在正在做)。我认为通过使用Web服务调用来下载动态数据并将这些图像/徽标从服务器替换到我的应用程序,可以更简单的方法可以减少我的手动自定义过程。 任何想法? TIA,

2 个答案:

答案 0 :(得分:0)

实际上这很简单。

  1. 从您的网络服务中请求您的新数据
  2. 获取新图片/徽标的网址
  3. 使用NSURLSession或AFNetworking请求该文件
  4. 将图片保留在缓存中,这样您就不必重新下载相同的文件两次
  5. 我希望它能回答你的问题。

    编辑:@weiyin为您提供了我的解决方案的缓存部分

答案 1 :(得分:0)

当然可以。将文件下载到应用程序的库目录中。要获取库目录:

NSFileManager *fileManager = [NSFileManager defaultManager];
NSURL *library = [[fileManager URLsForDirectory:NSLibraryDirectory inDomains:NSUserDomainMask] firstObject];

然后使用[UIImage imageWithContentsOfFile:...]创建图像对象。将UIImage传递给您的UIImageView