Swift_添加本地图片

一, 声明相框和按钮

    var imageView : UIImageView!
    var button : UIButton!

        imageView = UIImageView.init(frame: CGRectMake(50, 200, 300, 300))
        imageView.backgroundColor = UIColor.cyanColor()
        self.view.addSubview(imageView)
        imageView.userInteractionEnabled = true
        
        button = UIButton.init(frame: CGRectMake(50, 50, 300, 50))
        button.backgroundColor = UIColor.redColor()
        button.setTitle("选取本地图片", forState: UIControlState.Normal)
        button.addTarget(self,action:#selector(ViewController.huantu),forControlEvents:.TouchUpInside)
        self.view.addSubview(button)
    
最初.png

二, 创建提示框

extension ViewController {
        var selectorController: UIAlertController {
        let controller = UIAlertController(title: nil, message: nil, preferredStyle: .ActionSheet)
        controller.addAction(UIAlertAction(title: "取消", style: .Cancel, handler: nil)) // 取消按钮
        controller.addAction(UIAlertAction(title: "拍照选择", style: .Default) { action in
            self.selectorSourceType(.Camera)
            }) // 拍照选择
        controller.addAction(UIAlertAction(title: "相册选择", style: .Default) { action in
            self.selectorSourceType(.PhotoLibrary)
            }) // 相册选择
        return controller
    }
    
    func huantu(){
        presentViewController(selectorController, animated: true, completion: nil)
        
    }
    
    func selectorSourceType(type: UIImagePickerControllerSourceType) {
        imagePickerController.sourceType = type
        // 打开图片选择器
        presentViewController(imagePickerController, animated: true, completion: nil)
    }
}
弹框.png

三, 扩展图片选择和结果返回

extension ViewController: UIImagePickerControllerDelegate, UINavigationControllerDelegate {
    
    // MARK: 图片选择器界面
    var imagePickerController: UIImagePickerController {
        get {
            let imagePicket = UIImagePickerController()
            imagePicket.delegate = self
            imagePicket.sourceType = .PhotoLibrary
            return imagePicket
        }
    }
    
    // MARK: 当图片选择器选择了一张图片之后回调
    func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String: AnyObject]) {
        dismissViewControllerAnimated(true, completion: nil) // 选中图片, 关闭选择器...这里你也可以 picker.dismissViewControllerAnimated 这样调用...但是效果都是一样的...
        
        imageView.image = info[UIImagePickerControllerOriginalImage] as? UIImage // 显示图片
        imageView.contentMode = .ScaleToFill // 缩放显示, 便于查看全部的图片
    }
    
    // MARK: 当点击图片选择器中的取消按钮时回调
    func imagePickerControllerDidCancel(picker: UIImagePickerController) {
        picker.dismissViewControllerAnimated(true, completion: nil) // 效果一样的...
    }
选择本地图片.png

四, 最终效果

显示效果.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,251评论 4 61
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,523评论 25 708
  • 中国十大名画之一,千百年来因此也遭遇坎坷,最终被分割为二。现下图藏于台北国立故宫博物院,另一部分藏于浙江省博物馆,...
    张明lovelife阅读 1,258评论 0 0
  • 努力坚持的名言 如果人生的途程上没有障碍,人还有什么可做的呢。以下是励志网分享的努力坚持的名言,希望大家喜欢。 努...
    创一学习吧阅读 385评论 0 3
  • 复习目标: 1.了解溶解度的含义,学会依据给定的数据绘制溶解度曲线,能利用溶解性表或溶解度曲线查阅有关物质的溶解性...
    廿一妹阅读 2,189评论 0 2