Ch.15 Bronze: Editing an Image
# 이미지 선택 시 편집 허용
- UIImagePickerController 가 기본으로 제공하는 편집창을 사용해서 유저가 이미지를 편집할 수 있게 하고, 편집된 이미지를 아이템의 이미지로 설정하는 게 과제!
# allowsEditing
- 편집을 허용하기 위해서는 UIImagePickerController 의 allowsEditing 프로퍼티를 true 로 설정해주면 된다...매우 간단 모든 과제가 이랬으면...
class DetailViewController: UIViewController, UITextFieldDelegate, UINavigationControllerDelegate, UIImagePickerControllerDelegate {
func imagePicker(for sourceType: UIImagePickerController.SourceType) -> UIImagePickerController {
let imagePicker = UIImagePickerController()
imagePicker.sourceType = sourceType
imagePicker.delegate = self
imagePicker.allowsEditing = true
return imagePicker
}
}
# .editedImage
- 편집창은 띄웠는데, 막상 이미지를 편집하고 선택을 완료하면 편집된 이미지가 아닌 원본이 띄워져 있는 것을 확인할 수 있다. 이미지를 선택하면 델리게이트가 imagePickerController(_:didFinishPickingMediaWithInfo:) 메서드를 통해 선택된 이미지를 담고 있는 info 딕셔너리를 전달받는데, 편집을 허용하는 경우 여기에 편집된 버전도 들어있다. 따라서 딕셔너리에서 편집된 이미지를 가져와서 아이템의 이미지로 설정해줘야 한다! 강의 코드에서는 원본 이미지를 가져왔기 때문에 편집이 반영이 안됐던 것...!
class DetailViewController: UIViewController, UITextFieldDelegate, UINavigationControllerDelegate, UIImagePickerControllerDelegate {
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
let image = info[.editedImage] as! UIImage // 편집 버전!
imageStore.setImage(image, forKey: item.itemKey)
imageView.image = image
dismiss(animated: true)
}
}
Author And Source
이 문제에 관하여(Ch.15 Bronze: Editing an Image), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@sunnysideup/Ch.15-Bronze-Editing-an-Image저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)