【问题标题】:iPhone: Save image to a specific photo albumiPhone:将图像保存到特定相册
【发布时间】:2010-11-04 13:13:49
【问题描述】:

我正在开发的应用程序为用户处理图像,用户完成后,他们可以保存该照片。我捕获屏幕并保存它没有问题(因为我希望一些标签与图像一起保存)但是这个调用:

UIImageWriteToSavedPhotosAlbum([self getScreenAsImage] , nil, nil, nil);

似乎只允许我保存到“已保存的照片”相册。理想情况下,我想创建一个以我正在处理的应用程序命名的专辑并将其保存在那里,以便它们全部存储在一起(例如,像夏威夷或模拟器上的毕业日专辑)。然后在该特定专辑中启动图像选择器也很好。有人知道怎么做吗?最重要的部分是能够将其保存在相册中,能够在该相册中启动选择器是次要的。

【问题讨论】:

    标签: iphone cocoa-touch


    【解决方案1】:

    有办法做到这一点,Apple 只是没有让它变得简单。

    有一个自定义类别可将功能添加到 ALAssetsLibrary。

    Git 该类别的 repo 可以在 here

    找到

    如果您使用的是 Cocoapods,则可以使用

    pod 'ALAssetsLibrary-CustomPhotoAlbum'
    

    您需要实例化一个 ALAssetsLibrary 对象并调用下面的方法

    - (void)saveImage:(UIImage *)image
          toAlbum:(NSString *)albumName
       completion:(ALAssetsLibraryWriteImageCompletionBlock)completion
          failure:(ALAssetsLibraryAccessFailureBlock)failure
    

    类似下面的东西

    进口:

    #import "ALAssetsLibrary+CustomPhotoAlbum.h" //Source Included (Git)
    

    #import <ALAssetsLibrary+CustomPhotoAlbum.h> //Cocoapods
    

    呼叫:

    ALAssetsLibrary *assetsLib = [[ALAssetsLibrary alloc] init];
    [assetsLib saveImage:imageToSave
                          toAlbum:@"AlbumName"
                       completion:completionBlock
                          failure:failureBlock];
    

    【讨论】:

      【解决方案2】:

      您可以使用ALAssetsLibrary 执行此操作:

      ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
      
      [library saveImage:image toAlbum:@"Midhun" withCompletionBlock:^(NSError *error) {
              if (error!=nil) {
                  NSLog(@"Error: %@", [error description]);
              }
          }];
      

      也可以查看本教程:Custom Photo Album

      【讨论】:

        【解决方案3】:

        据我所知,Apple 并没有公开 SDK 来实现这一点。在查看 UIKit 函数参考后,我的恐惧似乎得到了证实。

        【讨论】:

        • 谢谢布拉德,这基本上是我在大量谷歌搜索后得出的结论,所以很高兴确认这一点。
        • 这种行为有没有改变或者仍然被禁止?
        • 布拉德·史密斯,现在很难用谷歌搜索,因为总有像你这样的人甚至懒得回答,让大家感谢你是专业人士之类的。我用谷歌搜索了这个问题并来到这里,然后再次要求谷歌,LOL
        猜你喜欢
        • 2011-05-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多