IOS获取系统相簿里的照片

代码转自:http://blog.csdn.net/shijiucdy/article/details/7404079

#import <AssetsLibrary/AssetsLibrary.h>

-(void)getImgs{

dispatch_async(dispatch_get_main_queue(), ^{

NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

ALAssetsLibraryAccessFailureBlock failureblock = ^(NSError *myerror){

NSLog(@"相册访问失败 =%@", [myerror localizedDescription]);

if ([myerror.localizedDescription rangeOfString:@"Global denied access"].location!=NSNotFound)
{

NSLog(@"无法访问相册.请在‘设置->定位服务‘设置为打开状态.");

}else{

NSLog(@"相册访问失败.");

}

};

ALAssetsGroupEnumerationResultsBlock groupEnumerAtion = ^(ALAsset *result, NSUInteger index, BOOL *stop){

if (result!=NULL) {

if ([[result valueForProperty:ALAssetPropertyType] isEqualToString:ALAssetTypePhoto])
{

[self._dataArray addObject:result];

}

}

};

ALAssetsLibraryGroupsEnumerationResultsBlock

libraryGroupsEnumeration = ^(ALAssetsGroup* group, BOOL* stop){

if (group == nil)

{

[self myMethod:self._dataArray];

}

if (group!=nil) {

NSString *g=[NSString stringWithFormat:@"%@",group];//获取相簿的组

NSLog(@"gg:%@",g);//gg:ALAssetsGroup
- Name:Camera Roll, Type:Saved Photos, Assets count:71

/*这段代码 实际上也是有点多余的。

NSString *g1=[g substringFromIndex:16 ] ;

NSArray *arr=[[NSArray alloc] init];

arr=[g1 componentsSeparatedByString:@","];

NSString *g2=[[arr objectAtIndex:0] substringFromIndex:5];

if ([g2 isEqualToString:@"Camera Roll"]) {

g2=@"相机胶卷";

}

NSString *groupName=g2;//组的name

*/

[group enumerateAssetsUsingBlock:groupEnumerAtion];

}

//该段代码为块代码执行结束之后运行的部分。对于有刷新UI或者写入数据库的人来说也许是有必要的。

/*else{

dispatch_async(dispatch_get_global_queue(0,0),^{

[self myMethod:self._dataArray];

});

}*/

};

ALAssetsLibrary* library = [[ALAssetsLibrary alloc] init];

[library enumerateGroupsWithTypes:ALAssetsGroupAll

usingBlock:libraryGroupsEnumeration

failureBlock:failureblock];

// [library release];

[pool release];

});

}

//------------------------根据图片的url反取图片-----

ALAssetsLibrary *assetLibrary=[[ALAssetsLibrary alloc] init];

NSURL *url=[NSURL URLWithString:urlStr];

[assetLibrary assetForURL:url resultBlock:^(ALAsset *asset)  {

UIImage *image=[UIImage imageWithCGImage:asset.thumbnail];

cellImageView.image=image;

}failureBlock:^(NSError *error) {

NSLog(@"error=%@",error);

}

];

//---------------------

时间: 2024-08-30 11:22:34

IOS获取系统相簿里的照片的相关文章

iOS 获取系统相册数据(不是调系统的相册)

Framework:AssetsLibrary.framework 主要目的是获取到系统相册的数据,并把系统相册里的照片显示出来. 1.创建一个新的项目: 2.将AssetsLibrary.framework添加到项目中. 3.打开故事板,拖放一个集合视图(Collection View)组件到控制器中,然后拖放一个Image View到Collection View的默认单元格,在属性面板中修改Image View的显示照片方式为Aspect Fill.并且,在属性面板中设置默认单元格(col

IOS 获取系统版本字符串,并且转化成float类型

pcDuino3下支持mmc启动,官方的Uboot是采用SPL框架实现的,因为内部的SRAM空间达到32K,我们完全可以在这32K空间内编写一个完整可用小巧的bootloader来完成引导Linux kernel的目的. 我们首先介绍下SPL框架,可以先看下<GNU ARM汇编--(十八)u-boot-采用nand_spl方式的启动方法>和<GNU ARM汇编--(十九)u-boot-nand-spl启动过程分析>,NAND_SPL也算是SPL框架下的一种模式. 当使用Nand f

IOS获取系统通讯录联系人信息

先导入AddressBook.framework先 然后引用  #import <AddressBook/AddressBook.h> 一.权限注册 随着apple对用户隐私的越来越重视,IOS系统的权限设置也更加严格,在获取系统通讯录之前,我们必须获得用户的授权.权限申请代码示例如下: #pragma mark - 注册权限 - (void)contacts { //这个变量用于记录授权是否成功,即用户是否允许我们访问通讯录 int __block tip = 0; //声明一个通讯簿的引用

iOS 获取系统时间 及 时间比较

简单记录一下ios里面获取系统时间的方法. NSString* date; NSDateFormatter* formatter = [[NSDateFormatter alloc]init]; [formatter setDateFormat:@"YYYY:MM:dd:hh:mm:ss"]; date = [formatter stringFromDate:[NSDate date]]; NSLog(@"YYYY:MM:dd:hh:mm:ss == %@", da

IOS 获取系统通讯录

进入正题  获取系统通讯录,不想多讲,留下链接http://my.oschina.net/joanfen/blog/140146 通常做法: 首先创建一个ABAddressBookRef类的对象addressBooks,然后获取系统权限, 获取权限的代码: // 获取系统权限,并获得通讯录内容存入addressBooks. ABAddressBookRef addressBooks = nil; addressBooks = ABAddressBookCreateWithOptions(NULL

IOS 获取系统通讯录中的联系人信息

- (IBAction)getAllContactFromSystem { ABAddressBookRef ab = ABAddressBookCreateWithOptions(NULL, NULL); ABAddressBookRequestAccessWithCompletion(ab, ^(bool granted, CFErrorRef error) { //取得通讯录访问授权 ABAuthorizationStatus authorization= ABAddressBookGet

ios --- 调用系统"设置"里的功能(转)

安装后第一次运行软件时,系统会弹出提示用户是否允许软件获取当前位置,如果用户不允许的话,之后运行时系统不会在弹出提示设置,这点很不方便,有个解决办法是给用户一个选项,调出iphone中"设置"定位服务选项,由用户手动设置,调用系统"设置"中定位服务相关代码如下: -(IBAction)btnSetting:(id)sender{     NSURL*url=[NSURL URLWithString:@"prefs:root=LOCATION_SERVICE

ios获取系统自带的文字蓝色色值

要获取上面的蓝色,用取色器取出的颜色又不对,怎么办?一句话就搞定了 UIColor *textColor = self.view.tintColor;

iOS - 获取系统时间年月日,阳历(公历)日期转农历的方法

//获取当前时间 NSDate *now = [NSDate date]; NSLog(@" now date is: %@ ",now); NSCalendar *calendar = [NSCalendar currentCalendar]; NSUInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalend