iOS中图片与视频一次性多选

http://www.cnblogs.com/v2m_/archive/2012/12/21/2827324.html

一.使用系统的Assets Library Framework
这个是用来访问Photos程序中的图片和视频的库。其中几个类解释如下
  ALAsset
    ->包含一个图片或视频的各种信息

  ALAssetRepresentation
    ->得到ALAsset的各种信息

  ALAssetsFilter
    ->用来从一个ALAssetsGroup中检索ALAssets

  ALAssetsGroup
    ->一组ALAsset,一个asset可以属于多个这样的组,可以添加一个asset到某个组中

  ALAssetsLibrary
    ->整个图片库中的内容,可以对图片库的获取与编辑等

  网上有人说这种方法会要求授权地理位置信息,不过我没有遇到...

看看官方的使用示例,枚举的时候以nil结束哦,记得判断处理下。

// The following example shows how you can get an asset to represent the first video in the Saved Photos Album.

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

// Enumerate just the photos and videos group by using ALAssetsGroupSavedPhotos.
[library enumerateGroupsWithTypes:ALAssetsGroupSavedPhotos usingBlock:^(ALAssetsGroup *group, BOOL *stop) {

// Within the group enumeration block, filter to enumerate just videos.
[group setAssetsFilter:[ALAssetsFilter allVideos]];

// For this example, we‘re only interested in the first item.
[group enumerateAssetsAtIndexes:[NSIndexSet indexSetWithIndex:0]
options:0
usingBlock:^(ALAsset *alAsset, NSUInteger index, BOOL *innerStop) {

// The end of the enumeration is signaled by asset == nil.
if (alAsset) {
ALAssetRepresentation *representation = [alAsset defaultRepresentation];
NSURL *url = [representation url];
AVAsset *avAsset = [AVURLAsset URLAssetWithURL:url options:nil];
// Do something interesting with the AV asset.
}
}];
}
failureBlock: ^(NSError *error) {
// Typically you should handle an error more gracefully than this.
NSLog(@"No groups");
}];

[library release];

二.网络上的另一种方法-MHImagePickerMutilSelector
这个是通过设置
UINavigationControllerDelegate的方法,当UIImagePickerController显示在界面上的时候,判断一下
当前是图集列表(相当于AlAssetsGroup的列表)还是图片列表(相当于AlAsset的列表),如果是图片列表就调整scrollview的大
小,并在下面加上一个自己的滚动视图用来显示已经选择的图片。

这个方法的缺点是对已经选择的图片做点自定义的动作相对而言比较麻烦。

我稍微修改了下^_^(仅仅是稍微,让它调用的时候简单了点,对重复图片什么的也没有处理)

使用时只要UIVIewController实现了 MHImagePickerMutilSelector的协议,然后这样调用就好了。

[MHImagePickerMutilSelector showInViewController:self];

这里下载。

参考:http://www.cocoachina.com/bbs/read.php?tid=112242

时间: 2024-11-06 07:23:21

iOS中图片与视频一次性多选的相关文章

IOS中图片加载的一些注意点

图片的加载: [UIImage imageNamed:@"home"] //加载 png图片 在ios中获取一张图片只需要写图片名即可 不需要写后缀 默认都是加载.png的图片 但是因为屏幕尺寸不同 所有我们图片在加载时 系统也会做相应的处理 那么系统会如何处理呢? 下面做了讲解: 加入我们现在有这样三张图片  分别表示在不同屏幕尺寸在现实的图片 home.png   3.5 inch 非retina屏幕 [email protected] retina屏幕 [email protec

iOS中集成ijkplayer视频直播框架

ijkplayer 是一款做视频直播的框架,基于ffmpeg,支持 Android 和 iOS,网上也有很多集成说明,但是个人觉得还是不够详细,在这里详细的讲一下在 iOS 中如何集成ijkplayer,即便以前从没有接触过,按着下面做也可以集成成功! 一.下载ijkplayer   ijkplayer下载地址:https://github.com/Bilibili/ijkplayer 下载完成后解压,解压后文件夹内部目录如下图: 二.编译 ijkplayer 说是编译 ijkplayer,其实

iOS中图片水印的制作

// .获取上下文,之前的上下文都是在view的drawRect方法中获取(跟View相关联的上下文layer上下文) // 目前我们需要绘制图片到新的图片上,因此需要用到位图上下文 // 怎么获取位图上下文,注意位图上下文的获取方式跟layer上下文不一样.位图上下文需要我们手动创建. // 开启一个位图上下文,注意位图上下文跟view无关联,所以不需要在drawRect. - (void)viewDidLoad { [super viewDidLoad]; // 加载图片 UIImage *

ios中图片拉伸用法

- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight; Creates and returns a new image object with the specified cap values. Deprecation StatementDeprecated. Use the resizableImageWithCapInsets: in

ios中图片选择及上传

本Demo实现三个功能:图片选择,图片处理,图片上传 一.图片选择 简单封装了一个图片选择类fcimagePickerHelper,集成ActionSheet和ImagePicker功能,把他们的代理遵循和实现都封装起来,对外提供一个代理方法,把图片传递出去即可,简化外界的使用,在需要进行图片选择的地方,做以下操作: 导入此头文件 , #import "FCImageHelper.h" 遵循代理, <FCImageHelperDelegate> 在触发图片选择的方法中进行初

iOS中图片动画的三种模式及基本的代码实现

-(void)play { //第一种图片动画模式 头尾方式 //头尾方式 [UIView beginAnimations:nil context:nil];//动画开始 [UIView setAnimationDuration:10];//设置动画播放时长 /*内部写图片处理*/ [UIView commitAnimations];//提交动画 //第二种方式:图片动画结束处理模式 [UIView animateWithDuration:10 animations:^{ /*图片处理操作*/

IOS中的音频视频处理

AVAudioPlayer:使用简单,但是只能播放本地音频文件,不可以播放流媒体文件 注意:加载本地音频文件的路径的时候,不可以 使用 NSURL *url = [NSURL URLWithString:musicPath];这句话是将网络的路径转换成url:加载本地需要用  NSURL *url = [NSURL fileURLWithPath:musicPath]; 例如:   //_player是AVAudioPlayer对象,播放音视频文件,创建的播放器要放在全局,否则,不能播放    

ios中图片拉伸的几种方式

1. UIImageView整体拉伸 UIImageView-contentMode typedef NS_ENUM(NSInteger, UIViewContentMode) {     UIViewContentModeScaleToFill,         // 默认 拉伸(会变形)     UIViewContentModeScaleAspectFit,      // 等比例拉伸     UIViewContentModeScaleAspectFill,     // 等比例填充  

iOS 中使用.9图

背景 .9图来源于Android.为了设计出一套图,兼容Android和iOS,使用.9图的方式来对图片进行拉伸以适应不同的屏幕.在iOS中没有.9图的概念,只能先了解Android的.9图再进行模拟Android的方法. 什么是.9图片 即图片后缀名前有.9的图片,如pic.9.png.pic1.9.jgp,诸如此类的图片就称为.9图片.且在原始图片四周添加了一个像素,在这一个像素上用黑线标识出相关的区域. .9图片的作用 .9图片的作用是在图片拉伸的时候特定的区域不会发生图片失真,特定的区域