//우선 클래스에 UIImagePickerControllerDelegate 델리게이트를 추가해주고
lazy var imagePicker: UIImagePickerController = {
let picker: UIImagePickerController = UIImagePickerController()
picker.sourceType = .photoLibrary // 앨범에서 가져오기
picker.delegate = self // picker delegate
picker.allowsEditing = true //이미지 수정가능하게
return picker
}()
//imagePicker을 생성해준다..
@objc func imageTapped(tapGestureRecognizer: UITapGestureRecognizer) //이미지 뷰 클릭시..
{
self.present(self.imagePicker, animated: true, completion: nil) //앨범 보여주기
}
func imagePickerControllerDidCancel(_ picker: UIImagePickerController) { //앨범 선택 취소 경우 모달을 내려줌
self.dismiss(animated: true, completion: nil)
}
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) { //앨범 선택
var newImage: UIImage? = nil
if let possibleImage = info[UIImagePickerController.InfoKey.editedImage] as? UIImage {
newImage = possibleImage // 수정된 이미지가 있을 경우
} else if let possibleImage = info[UIImagePickerController.InfoKey.originalImage] as? UIImage {
newImage = possibleImage // 원본 이미지가 있을 경우
}
self.imageView.image = newImage // 받아온 이미지를 update
picker.dismiss(animated: true, completion: nil) // picker를 닫아줌
}
'개발 > 아이오에스' 카테고리의 다른 글
swift] 텍스트필드, 이미지뷰, 레이블 값 채워져있는지 확인하기 isEmpty (0) | 2020.12.23 |
---|---|
swift] 다른 뷰에 갔다가 다시 돌아오는 상황처리(viewWillAppear) / view의 생명주기(Life-Cycle) (0) | 2020.12.23 |
swift] UIImageView 클릭 시 동작 터치시 동작 UITapGestureRecognizer 사용 (0) | 2020.12.22 |
swift] UIDatePicker - DateFormatter (0) | 2020.12.22 |
swift] delegate 정리 UITextFieldDelegate 예제 (0) | 2020.12.22 |