ios 选择图片

1.控制器实现代理:
  UIActionSheetDelegate,UIImagePickerControllerDelegate,UINavigationControllerDelegate

2.对图片添加手势:
  UITapGestureRecognizer *gs=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(choicePic)];
    [picImageView addGestureRecognizer:gs];
    picImageView.userInteractionEnabled=YES;

3.实现手势对应方法:
   UIActionSheet *sheet=[[UIActionSheet alloc]initWithTitle:SHEET_PIC_SOURCE_TITLE delegate:self cancelButtonTitle:SHEET_PIC_SOURCE_CACEL destructiveButtonTitle:nil otherButtonTitles:SHEET_PIC_SOURCE_CAMERA,SHEET_PIC_SOURCE_PHOTO, nil];
    [sheet showInView:self.view];

4.实现sheet对应代理方法:
  -(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{
    UIImagePickerController *picker = [[UIImagePickerController alloc] init];
    picker.delegate=self;
    if(buttonIndex==0){
        if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]){
             picker.sourceType = UIImagePickerControllerSourceTypeCamera;
        }else{
            [UtilTool ShowAlertView:ALERT_WARN_TITLE setMsg:OPEN_CAMERA_ERRORMSG];
        }
        [self presentViewController:picker animated:YES completion:nil];
    }else if (buttonIndex==1){
        picker.sourceType=UIImagePickerControllerSourceTypePhotoLibrary;
        [self presentViewController:picker animated:YES completion:nil];
    }else{
    }
}

5.实现选择照片或照相机代理方法:
  -(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
    [UIApplication sharedApplication].statusBarHidden=NO;
    [picker dismissViewControllerAnimated:YES completion:nil];
    
    NSString *mediaType=[info objectForKey:UIImagePickerControllerMediaType];
    if([mediaType isEqualToString:@"public.image"]){
        UIImage *image=[info objectForKey:UIImagePickerControllerOriginalImage];
        
        picImageView.image=image;

   //目的:判断是否选择了图片,可以简单判断是否需要上传图片
        //isPic=1;
        
        if(picker.sourceType == UIImagePickerControllerSourceTypeCamera)
            UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
    }
}

时间: 2024-10-15 14:40:05

ios 选择图片的相关文章

iOS 正确选择图片加载方式

正确选择图片加载方式能够对内存优化起到很大的作用,常见的图片加载方式有下面三种: //方法1 UIImage *imag1 = [UIImage imageNamed:@"image.png"]; //方法2 UIImage *image2 = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"image.png" ofType:nil]]; //方法3 NSData

IOS研究院之打开照相机与本地相册选择图片

如下图所示 在本地相册中选择一张图片后,我们将他拷贝至沙盒当中,在客户端中将它的缩略图放在按钮旁边,这个结构其实和新浪微薄中选择图片后的效果一样.最终点击发送将按钮将图片2进制图片上传服务器. 下面我们仔细学习具体的细节.创建一个空的IOS项目,接着在创建一个ViewController. AppDelegate.h 应用的代理类 这个没什么好说的就是直接打开刚刚创建的新ViewController. 1 #import <UIKit/UIKit.h> 2 #import "Test

MonoTouch - iOS 使用 UIImagePickerController 打开图片库和相机选择图片修改头像

Application tried to present modally an active controller <UIImagePickerController: 0x7b6ff400> 1,AddGestureRecognizer为图片视图添加事件 //圆角头像 _avatarView = new UIImageView(new RectangleF(_blockSpace, _blockSpace, 2 * _avatarRadius, 2 * _avatarRadius)); UII

ios 图片库和相机选择图片界面修改为简体中文

使用UIImagePickerController 打开图片库和相机选择图片界面一般为英文描述,所以修改为简体中文的方法在info.plist文件中:

微信小程序---选择图片和调用微信拍照

1.实现点击头像按钮实现选择图片或者拍照,将图片重新设置成头像: //index.js //获取应用实例 var app = getApp() Page({ data: { motto: 'Hello World', userInfo: {}, avatarUrl:null }, //事件处理函数 bindViewTap: function() { var that = this // 选择图片和拍照 wx.chooseImage({ count: 1, // 默认9 sizeType: ['o

iOS选择相片优化

1.问题 在ios中有时需要选择本地图片或者拍照,有时候选择相片的时候会有多选和单选,所以需要首先封装相册选择,在之前的博客中也有写到IOS多选单选相册图片.这个只是对相册中选择图片的封装.我们在app中选择图片会有两种方式一个是通过相册一个是通过相机.可是问题又出现了,每次调用选择图片还是要实现单选多选和UIImagePickerController,多次调用就要多次实现,这样代码还是冗余,所以需要对其进一步的优化. 2.分析问题 一.不管是封装单选多选还是用系统拍照都是为了获取图片(功能类似

iOS 获取图片(拍照,图库,相册)

iOS  获取图片有三种方法 1 直接调用摄像头拍照 2 从相册中选择 3 从图库中选择 UIImagePickerController 是系统提供的用来获取图片和视频的接口: 用UIImagePickerController 类来获取图片视频: 大体分为以下几个步骤: 初始化UIImagePickerController 类 设置UIImagePickerController 实例的数据来源类型(下面解释): 设置设置代理 如果需要做图片修改的话设置allowsEditing =yes 数据

monotouch拍照、选择图片上传实现

不多说,上码: 选择图片上传========> using System; using System.Drawing; using MonoTouch.AssetsLibrary; using MonoTouch.UIKit; using MonoTouch.Foundation; namespace world { public class ImageViewController : UIViewController { UIImagePickerController imagePicker;

ng-cordova 手机拍照或从相册选择图片

1.需求描述 实现一个调用摄像头拍照,或者直接打开本地图库选择照片,然后替换App中图片的功能 2.准备 1) 安装ng-cordova 进入到ionic工程目录,使用bower工具安装, bower install ngCordova 然后将ng-cordova.js 或者 ng-cordova.min.js 添加到index.html 中的 cordova.js 引用之前 ... <script src="lib/ngCordova/dist/ng-cordova.js"&g