首页 > 解决方案 > 使用 CropViewController 时访问裁剪的图像

问题描述

我有一个非常简单的应用程序 - 有一个图像、一个按钮和一个空图像视图。

当您按下按钮时,您将进入裁剪视图,您可以在其中将图像编辑为圆形。我已经通过可可豆荚安装了 CropViewController。

但是,当我按“完成”时,裁剪的图像不会显示在空图像视图中 - 永远不会调用该方法。

任何建议都会很棒!

这是代码:

import UIKit
import CropViewController

class ViewController: UIViewController, CropViewControllerDelegate
{
    @IBOutlet weak var imageView: UIImageView!
    @IBOutlet weak var resultImage: UIImageView!

    override func viewDidLoad()
    {
        super.viewDidLoad()
    }

    @IBAction func cropImage(_ sender: Any)
    {
        presentCropViewController()

    }

    func presentCropViewController()
    {
        let image: UIImage? = imageView.image
        let cropViewController = CropViewController(croppingStyle: .circular, image: image!)
        cropViewController.delegate = self
        self.present(cropViewController, animated: true, completion: nil)
    }

    func cropViewController(_ cropViewController: TOCropViewController, didCropToCircularImage image: UIImage?, with cropRect: CGRect, angle: Int)
    {
    // 'image' is the newly cropped, circular version of the original image
        self.resultImage.image = image
    }

    func cropViewController(_ cropViewController: TOCropViewController, didFinishCancelled cancelled: Bool) {
        cropViewController.dismiss(animated: true, completion: {

        })
    }
}

标签: swiftxcode

解决方案


我错过了@objc 标签

@objc func cropViewController(_ cropViewController: TOCropViewController, didCropToCircularImage image: UIImage?, with cropRect: CGRect, angle: Int)
    {
    // 'image' is the newly cropped, circular version of the original image
        self.resultImage.image = image
    }

@objc func cropViewController(_ cropViewController: TOCropViewController, didFinishCancelled cancelled: Bool) {
        cropViewController.dismiss(animated: true, completion: {

        })
    }

推荐阅读