swift 实现拍照 选择相册

  • 点击按钮的方法
    func photos()  {
        
      self.showBottomAlert()
        
    }
    
    

屏幕底部弹出的Alert

func showBottomAlert(){
        
        let alertController=UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet)

        let cancel=UIAlertAction(title:"取消", style: .cancel, handler: nil)
        let takingPictures=UIAlertAction(title:"拍照", style: .default)
        {
            action in
            self.goCamera()
            
        }
        let localPhoto=UIAlertAction(title:"本地图片", style: .default)
        {
            action in
            self.goImage()
            
        }
        alertController.addAction(cancel)
        alertController.addAction(takingPictures)
        alertController.addAction(localPhoto)
        self.present(alertController, animated:true, completion:nil)
        
    }

拍照与本地相册方法

  • 去拍照
func goCamera(){
                
    if UIImagePickerController.isSourceTypeAvailable(.camera){
        let  cameraPicker = UIImagePickerController()
        cameraPicker.delegate = self
        cameraPicker.allowsEditing = true
        cameraPicker.sourceType = .camera
        //在需要的地方present出来
        self.present(cameraPicker, animated: true, completion: nil)
    } else {
        
        print("不支持拍照")
        
    }

}
  • 去相册
func goImage(){

    
    let photoPicker =  UIImagePickerController()
    photoPicker.delegate = self
    photoPicker.allowsEditing = true
    photoPicker.sourceType = .photoLibrary
    //在需要的地方present出来
    self.present(photoPicker, animated: true, completion: nil)
    
}
  • 代理

    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
    
    print("获得照片============= \(info)")
    
    let image : UIImage = info[UIImagePickerController.InfoKey.editedImage] as! UIImage
    
      //显示设置的照片
    imgView.image = image
    
    self.dismiss(animated: true, completion: nil)
    

    }

  • 第三方库实现 TZImagePickerController
    必须实现TZImagePickerControllerDelegate
     let imagePickerVc = TZImagePickerController(maxImagesCount: 1, delegate: self)
     imagePickerVc?.modalPresentationStyle = .custom
     self.present(imagePickerVc!, animated: true)

// 图片选择器的代理
// TZImagePickerControllerDelegate
func imagePickerController(_ picker: TZImagePickerController!, didFinishPickingPhotos photos: [UIImage]!, sourceAssets assets: [Any]!, isSelectOriginalPhoto: Bool) {
    if let image = photos.first {
        //显示设置的照片
        imageview.image = image
                    
    }
    
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,196评论 4 61
  • 本文介绍如何将目标字符串复制存储到剪贴板上,代码如下: 本文将持续更新,如有需要请关注!荆轲刺秦王!
    oc123阅读 2,755评论 0 2
  • 来源:法律职业资格考试网 希律法考交流群:343325550 为了改革和完善司法考试制度,即将开始的国家统一法律职...
    Pe1za1阅读 2,738评论 0 0
  • 2018.1.2 星期二 阴 今天儿子上学去了,又开始新的一年的一天,好好学习吧。下午带二宝去了医院一趟,...
    鑫隆妈妈阅读 1,079评论 0 5