当前位置: 首页 > news >正文

旅游公司网站建设/网络推广方式方法

旅游公司网站建设,网络推广方式方法,专业做尼泊尔的旅行网站,网站建设个人网银本文将带你了解IOS开发入门iOS 保存图片到相册,希望本文对大家学IOS有所帮助。iOS 保存图片到相册//方法调用NSMutableData *data [NSMutableData dataWithContentsOfFile:_SaveFilepath];UIImage *myImage [UIImage imageWithData:data];STAlbumManager *stabumM…

本文将带你了解IOS开发入门iOS 保存图片到相册,希望本文对大家学IOS有所帮助。

iOS 保存图片到相册

//方法调用

NSMutableData *data = [NSMutableData dataWithContentsOfFile:_SaveFilepath];

UIImage *myImage = [UIImage imageWithData:data];

STAlbumManager *stabumManager = [STAlbumManager sharedManager];

[stabumManager saveImage:myImage toAlbum:@"电子发票" completionHandler:^(UIImage *image, NSError *error){}];

//类实现

//

// STAlbumManager.h

// BSbracelet

//

// Created by Christopher on 17/4/28.

// Copyright ? 2017年 ZTracy. All rights reserved.

//

#import

#import

@class UIImage;

typedef void (^STAlbumSaveHandler)(UIImage *image, NSError *error);

/**

* @brief 将图片写入相册,使用ALAssetLibrary

*

* @param image 需要写入的图片

* @param album 相册名称,如果相册不存在,则新建相册

* @param completionHandler 回调

*/

extern void STImageWriteToPhotosAlbum(UIImage *image, NSString *album, STAlbumSaveHandler completionHandler);

@interface STAlbumManager : NSObject

+ (instancetype)sharedManager;

/**

* @brief 将图片写入相册,使用ALAssetLibrary

*

* @param image 需要写入的图片

* @param album 相册名称,如果相册不存在,则新建相册

* @param completionHandler 回调

*/

- (void)saveImage:(UIImage *)image toAlbum:(NSString *)album completionHandler:(STAlbumSaveHandler)completionHandler;

@end

@interface ALAssetsLibrary (STAssetsLibrary)

- (void)writeImage:(UIImage *)image toAlbum:(NSString *)album completionHandler:(STAlbumSaveHandler)completionHandler;

@end

//

// STAlbumManager.m

// BSbracelet

//

// Created by Christopher on 17/4/28.

// Copyright ? 2017年 ZTracy. All rights reserved.

//

#import "STAlbumManager.h"

#import

void STImageWriteToPhotosAlbum(UIImage *image, NSString *album, STAlbumSaveHandler completionHandler) {

[[STAlbumManager sharedManager] saveImage:image toAlbum:album completionHandler:completionHandler];

}

@interface STAlbumManager ()

@property(nonatomic, strong) ALAssetsLibrary *assetsLibrary;

@end

@implementation STAlbumManager

static STAlbumManager *_sharedManager;

+ (instancetype)sharedManager {

static dispatch_once_t onceToken;

dispatch_once(&onceToken, ^{ _sharedManager = [[self alloc] init]; });

return _sharedManager;

}

- (instancetype)init {

self = [super init];

if (self) {

}

return self;

}

- (ALAssetsLibrary *)assetsLibrary {

if (!_assetsLibrary) {

_assetsLibrary = [[ALAssetsLibrary alloc] init];

}

return _assetsLibrary;

}

- (void)saveImage:(UIImage *)image toAlbum:(NSString *)album completionHandler:(STAlbumSaveHandler)completionHandler {

[self.assetsLibrary writeImage:image

toAlbum:album

completionHandler:^(UIImage *image, NSError *error) {

if (completionHandler) {

completionHandler(image, error);

}

/// 注意,这里每次都置空是因为期间如果操作相册了,下次保存之前希望能取到最新状态。

self.assetsLibrary = nil;

}];

}

@end

@implementation ALAssetsLibrary (STAssetsLibrary)

- (void)writeImage:(UIImage *)image toAlbum:(NSString *)album completionHandler:(STAlbumSaveHandler)completionHandler {

[self writeImageToSavedPhotosAlbum:image.CGImage

orientation:(ALAssetOrientation)image.imageOrientation

completionBlock:^(NSURL *assetURL, NSError *error) {

if (error) {

if (completionHandler) {

completionHandler(image, error);

}

} else {

[self addAssetURL:assetURL

toAlbum:album

completionHandler:^(NSError *error) {

if (completionHandler) {

completionHandler(image, error);

}

}];

}

}];

}

- (void)addAssetURL:(NSURL *)assetURL toAlbum:(NSString *)album completionHandler:(ALAssetsLibraryAccessFailureBlock)completionHandler {

void (^assetForURLBlock)(NSURL *, ALAssetsGroup *) = ^(NSURL *URL, ALAssetsGroup *group) {

[self assetForURL:assetURL

resultBlock:^(ALAsset *asset) {

[group addAsset:asset];

completionHandler(nil);

}

failureBlock:^(NSError *error) { completionHandler(error); }];

};

__block ALAssetsGroup *group;

[self enumerateGroupsWithTypes:ALAssetsGroupAlbum

usingBlock:^(ALAssetsGroup *_group, BOOL *stop) {

if ([album isEqualToString:[_group valueForProperty:ALAssetsGroupPropertyName]]) {

group = _group;

}

if (!_group) {

/// 循环结束

if (group) {

assetForURLBlock(assetURL, group);

} else {

[self addAssetsGroupAlbumWithName:album

resultBlock:^(ALAssetsGroup *group) { assetForURLBlock(assetURL, group); }

failureBlock:completionHandler];

}

}

}

failureBlock:completionHandler];

}

@end

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之IOS频道!

http://www.jmfq.cn/news/4808377.html

相关文章:

  • 颍上县建设局网站/北京网站
  • wordpress默认模版/推推蛙贴吧优化
  • 福州网站建设推广/百度站长联盟
  • 重庆做网站的/友情链接网站免费
  • 网站建设天天软文靠谱/百度下载并安装最新版
  • 成都网站建设专家/长春seo公司
  • seo百家外链网站/百度app旧版本下载
  • 免费做网站. 优帮云/什么是百度推广
  • 湖北企业网站建设多少钱/天津关键词优化平台
  • 我的世界手机做图的网站/服装市场调研报告范文
  • 网站底部代码大全/百度信息流开户多少钱
  • 郑州网站建设排行榜/无锡网站推广公司
  • 自己可以建网站吗/win10优化大师
  • 蒙古文网站建设/西安今天刚刚发生的新闻
  • 网站后台修改的页面不能显示/西安企业网站seo
  • 站长工具精品国语日语/永久免费的建站系统有哪些
  • 网站建设产品说明书/怎样做一个自己的网站
  • 有哪些网站可以做家教/今日头条新闻最新疫情
  • 网站内容策略/山东济南seo整站优化费用
  • 网站建设 摊销年限/搜索引擎优化自然排名
  • 网站做推广有用吗/青岛seo青岛黑八网络最强
  • 做的网站如何全屏代码/上海sem
  • php网站的优势/百度关键词排名点
  • 网站开发包含哪些/自动点击器怎么用
  • php建设网站所用开发软件/国家免费职业培训平台
  • 佛山专业网站制作设计/重庆seo排名公司
  • 广州大石附近做网站的公司/seo双标题软件
  • 网站规划在网站建设中的作用是/网络营销是什么专业类别
  • 网站被黑是怎么回事/赣州seo推广
  • 怎么做系统网站/上海已经开始二次感染了