Swift 头像上传(2)

Swift 头像上传(2),第1张

概述今天接着Swift头像上传(1)继续学习 实现效果:点击相册,打开相册 首先需要实现两个协议UIImagePickerControllerDelegate,UINavigationControllerDelegate实现加载和读取相册的功能 //从本地获取 func localImage(){ if UIImagePickerController.isSo

今天接着Swift头像上传(1)继续学习

实现效果:点击相册,打开相册

首先需要实现两个协议UIImagePickerControllerDelegate,UINavigationControllerDelegate实现加载和读取相册的功能


//从本地获取    func localimage(){                if UIImagePickerController.isSourceTypeAvailable(.Photolibrary){        self.imagePickerController = UIImagePickerController()        self.imagePickerController.delegate = self        self.imagePickerController.allowsEditing = true//允许用户裁剪移动缩放        self.imagePickerController.sourceType = UIImagePickerControllerSourceType.Photolibrary//设置图片来源为图库        //设置图片拾取器导航条的前景色        self.imagePickerController.navigationbar.barTintcolor = UIcolor.orangecolor()       //设置图片拾取器标题颜色为白色        self.imagePickerController.navigationbar.TitleTextAttributes = [NSForegroundcolorAttributename:UIcolor.whitecolor()]        //设置导航条的着色颜色为白色        self.imagePickerController.navigationbar.tintcolor = UIcolor.whitecolor()   //在当前视图控制器窗口展示图片拾取器        self.presentVIEwController(self.imagePickerController,animated: true,completion : nil )        }else{        print("读取相册失败")        }    }        //打开相机获取    func openCamera(){        if UIImagePickerController.isSourceTypeAvailable(.Camera) {            self.imagePickerController = UIImagePickerController()            self.imagePickerController.delegate = self            self.imagePickerController.allowsEditing = true//允许用户裁剪移动缩放            self.imagePickerController.sourceType = UIImagePickerControllerSourceType.Camera//设置图片来源为相机            //设置图片拾取器导航条的前景色            self.imagePickerController.navigationbar.barTintcolor = UIcolor.orangecolor()            //设置图片拾取器标题颜色为白色            self.imagePickerController.navigationbar.TitleTextAttributes = [NSForegroundcolorAttributename:UIcolor.whitecolor()]            //设置导航条的着色颜色为白色            self.imagePickerController.navigationbar.tintcolor = UIcolor.whitecolor()            //在当前视图控制器窗口展示图片拾取器            self.presentVIEwController(self.imagePickerController,completion : nil )                }else{                  print("相机不可用,您可能使用的是模拟器,请切换到真机调试")        }    }         //添加代理方法,用于执行图片拾取完成后的代码    func imagePickerController(picker: UIImagePickerController,dIDFinishPickingMediawithInfo info: [String : AnyObject]) {        //判断是否允许裁剪        if(picker.allowsEditing){            //裁剪后图片            self.imagevIEw.image = info["UIImagePickerControllerEditedImage"]as? UIImage        }else{            //原始图片            self.imagevIEw.image = info["UIImagePickerControllerOriginalimage"]as? UIImage        }                self.dismissVIEwControllerAnimated(true,completion: nil )        }       //添加代理方法,执行用户取消的代码    func imagePickerControllerDIDCancel(picker: UIImagePickerController) {        //隐藏图片拾取器        self.dismissVIEwControllerAnimated(true,completion: nil )    }    overrIDe func dIDReceiveMemoryWarning() {        super.dIDReceiveMemoryWarning()        // dispose of any resources that can be recreated.    }

上面的拍照和本地获取,代码有很多相同的地方,可以优化一下:优化思路,把两个方法合为一个。利用传递参数的方式把获取图片来源传递进来。

把判断相机是否能用,图库是否能打开的条件判断语句放在调用改方法的地方。

下次把优化过的代码贴出来,这次就不贴了。

总结

以上是内存溢出为你收集整理的Swift 头像上传(2)全部内容,希望文章能够帮你解决Swift 头像上传(2)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1072051.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存