【问题标题】:Save iPhone Photo Library Path to a Plist将 iPhone 照片库路径保存到 Plist
【发布时间】:2011-02-08 14:26:54
【问题描述】:

我想将主 iphone 照片库中特定照片的图像路径字符串保存在 plist 文件中。

以便稍后我可以在 web 视图中调用 plist 图像路径字符串并查看照片。

我知道我需要绝对路径,它可能与文档目录的路径相似,但是:

1.) 如何获取特定照片的照片名称?

2.) 我需要将绝对路径字符串附加到照片名称然后写入 plist 吗?

3.) 每次安装我的应用程序的路径都会改变 - 这会使硬编码的绝对路径无法使用?

有没有专业人士想解决这个难题?

【问题讨论】:

    标签: iphone ios4 uiimageview plist


    【解决方案1】:

    如果你正在构建一个低于 iOS4.0 的应用程序,那么你可以使用UIImagePickerController Class。这将让用户从手机相册中选择一张图片,然后您可以将其保存在应用程序的文档目录中,并将相应的链接保存在 info.plist 文件中。当您的应用程序被卸载时,文档目录会被删除,因此您也会丢失路径。

    一个更好的方法是使用ALAssetsLibrary,但缺点是将此功能(如果它是主要功能,那么您的应用程序)仅限于 iOS4.0 及更高版本。 iphone 中的每张照片都由一个可以保存的唯一 URL 表示,您可以使用该 URL 引用特定图像。有一个很好的 tutorial blog 可以帮助您开始使用它。

    现在,在您的问题中,您谈论的是特定照片。您不能只知道库中的任何特定照片,除非您让用户选择一张。这让我回答你的最后一个问题。该特定图像的 URL 是不变的(直到 iphone 被重置),但除非您有任何方法在 每次 安装应用程序之间保留该信息(这里到底是什么意思?),我不'不知道作为唯一 URL 将如何帮助您。

    编辑: 刚看到那里有sdk 4.0的标签,请忽略第一种情况(

    【讨论】:

      【解决方案2】:

      好的,我想我想使用 UIImagePickerController!

      这是我的代码:

      - (void)viewDidLoad {
      
          self.iconPicker = [[UIImagePickerController alloc] init];
          self.iconPicker.allowsEditing = YES;
          self.iconPicker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
      
          self.iconPicker.delegate = self;
      }
      
      - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
      
          iconImage.image = [info objectForKey:UIImagePickerControllerEditedImage];
      
          [picker dismissModalViewControllerAnimated:YES];
          [picker release];
      }
      
      - (IBAction)save {
      
          [plist.data setValue:iconImage.image forKey:@"Icon"];
          [plist.data writeToFile:plist.file atomically:YES];
      
          [self.parentViewController dismissModalViewControllerAnimated:YES];
      }
      

      如何将编辑后图像的图像名称保存在 plist 字符串中。

      由于负载大小,我知道我不想保存 CGImage 数据或其他任何内容。

      我想我可以通过将我所有的 HTML 放入字符串对象然后将变量添加到我需要包含的对象中来将 xcode 变量传递给 HTML...

      所以我可以创建照片目录的路径,但我需要知道如何从 UIImagePickerController 获取保存的编辑图像的名称???

      【讨论】:

      • 编辑后的图像没有名称,它是一个临时文件。但是,您可以将此图像作为文件保存到您的目录并自己命名。然后你可以用那个名字来引用它。另一方面,您不应该将图像数据保存在 plist 文件中,因为数据可能非常大,不建议将大数据放入 plist 文件中。
      猜你喜欢
      • 2010-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多