针对新手:swift下调用相册、拍照(详细步骤!!!)

第一步:

项目添加以下两个框架

MobileCoreServices.framework

AssetsLibrary.framework



第二步:

在项目的 *****-Bridging-Header.h中导入必要框架(或在swift文件中直接导入 import .....)

#import <AssetsLibrary/AssetsLibrary.h>

#import <MobileCoreServices/MobileCoreServices.h>

第三步:

在需要调用的viewcontroller文件里添加引用(我的视图是Navigation,所以需要添加UINavigationControllerDelegate

UIImagePickerControllerDelegate(必须

UINavigationControllerDelegate(视情况添加

UIActionSheetDelegate(必须


第四步:

在imageview响应事件里添加如下方法

var sheet:UIActionSheet
        if(UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.Camera)){
            sheet = UIActionSheet(title: nil, delegate: self, cancelButtonTitle: "取消", destructiveButtonTitle: nil, otherButtonTitles: "从相册选择","拍照")
        }else{
            sheet = UIActionSheet(title:nil, delegate: self, cancelButtonTitle: "取消", destructiveButtonTitle: nil, otherButtonTitles: "从相册选择")
        }
        sheet.showInView(self.view)


 

第五步:

添加选择框回调函数,可作为固定写法

    func actionSheet(actionSheet: UIActionSheet, clickedButtonAtIndex buttonIndex: Int) {
        var sourceType = UIImagePickerControllerSourceType.PhotoLibrary
        if(buttonIndex != 0){
            if(buttonIndex==1){
                //相册
                sourceType = UIImagePickerControllerSourceType.PhotoLibrary
            }else{
                sourceType = UIImagePickerControllerSourceType.Camera
            }
            let imagePickerController:UIImagePickerController = UIImagePickerController()
            imagePickerController.delegate = self
            imagePickerController.allowsEditing = true//true为拍照、选择完进入图片编辑模式
            imagePickerController.sourceType = sourceType
            self.presentViewController(imagePickerController, animated: true, completion: {
            })
        }
    }

第六步:

添加回调函数(固定写法)

  func imagePickerControllerDidCancel(picker:UIImagePickerController)
    {
        self.dismissViewControllerAnimated(true, completion: nil)
    }

第七步:

添加回调函数,这个函数是图片完成编辑模式后调用的,处理完的图片在info里(根据需求进行适当更改)

    func imagePickerController(picker:UIImagePickerController!, didFinishPickingMediaWithInfo info:NSDictionary)
    {
        var imageToSave:UIImage
        //UIImagePickerControllerEditedImage,这个需要特别注意,根据需要获得不同的图片,此处这个参数代表得到编辑完的图片,还有其他函数QAQ被坑了一晚
        imageToSave = info.objectForKey(UIImagePickerControllerEditedImage) as UIImage
        //获取到相机拍出来的视频,userImage为我view里的image view控件名称,自行更改
        userImage.image=imageToSave
        self.dismissViewControllerAnimated(true, completion: nil)
    }

初写教程,不足之处还请点出,不胜感激~


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值