extension MyPageViewController : CropViewControllerDelegate {
func cropViewControllerDidCrop(_ cropViewController: CropViewController, cropped: UIImage, transformation: Transformation) {
print("successfully cropped")
print("cropped is \(cropped)")
self.croppedProfileImage = cropped
cropViewController.dismiss(animated: true, completion: nil)
}
func cropViewControllerDidCancel(_ cropViewController: CropViewController, original: UIImage) {
cropViewController.dismiss(animated: true, completion: nil)
}
private func openCropVC(image: UIImage) {
var mantisConfig = Config()
mantisConfig.cropShapeType = .circle(maskOnly: false)
let cropViewController = Mantis.cropViewController(image: image, config: mantisConfig)
cropViewController.delegate = self
cropViewController.modalPresentationStyle = .fullScreen
self.present(cropViewController, animated: true)
}
}
extension으로 CropViewControllerDelegate를 걸어주고 예를들어 myPuppy라는 이미지를 크롭하고 싶다고 가정하면 그 뷰컨트롤러에서 self.openCropVC(image: myPuppy) 이런 식으로 호출해서 사용하면 됩니다. 그 후로 사용자가 원하는 모양에 맞게 크롭을 완료하고 크롭이 완성되면 cropViewControllerDidCrop이 호출되는데 이때 cropped가 완성된 이미지라고 보면 됩니다. 이후에는 크롭뷰컨트롤러가 더 이상 필요하지 않으므로 dismiss해주면 끝-!
'iOS Swift > 개발 이모저모' 카테고리의 다른 글
[사진]촬영 후 바로 아이폰 앨범에 저장하기 (0) | 2022.12.27 |
---|---|
[권한]앨범 접근 권한 여부 확인하고 바로 후처리 (1) | 2022.12.22 |
[권한]아이폰 앨범 접근 권한 확인하기 (1) | 2022.12.21 |
[사진]UIImagePickerController로 아이폰 기기 앨범의 이미지 선택하기 (1) | 2022.12.21 |