iOS앱으로 이미지를 가져오는 작업이 필요해서 UIImagePickerController를 사용해보았습니다.
결론적으로는 비슷한 기능을 PHPickerViewController로 다시 구현할 예정이지만, 우선 사용하는 방법을 기록해보겠습니다.
let imagePicker = UIImagePickerController()
@objc func photoButtonTapped() {
self.present(self.imagePicker, animated: true)
}
override func viewDidLoad() {
super.viewDidLoad()
imagePicker.sourceType = .photoLibrary
imagePicker.allowsEditing = true
imagePicker.delegate = self
}
.camera
: 새로운 사진을 촬영한다.
.savedPhotoAlbum
, .photoLibrary
: 두 가지는 차이점은 딱히 없음..
차이점이 궁금하다면, What's the difference between Camera Roll and Photo Library? : StackOverflow
: 사진 선택 시, 사진을 편집(crop)하여 지정할 수 있습니다.
extension WritingViewController : func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
var newImage: UIImage? = nil
if let selectedImage = info[UIImagePickerController.InfoKey.editedImage] {
newImage = selectedImage as? UIImage
} else if let selectedImage = info[UIImagePickerController.InfoKey.originalImage] as? UIImage {
newImage = selectedImage
}
self.imageView.image = newImage
dismiss(animated: true, completion: nil)
}
사진을 여러장 선택하는 것이 필요했는데, UIImagePickerController는 사진을 여러장 첨부하는 것이 불가능해서.. 그리고 아래처럼 PHPickerViewController를 사용하라는 말에 따라 바꿔서 사용하기로 하였습니다.😂
PHPickerViewController를 사용하는 방법은 이어서 올리도록 하겠습니다.
😂