이글은 zeddios.tistory.com/125 와 Do it 책을 참고해서 작성한 글입니다.
카메라와 포토라이브러리를 구현하기 위해서 필요한 필요한 것은 뭘까면 일단
import MobileCoreServices 가 필요하다.
그다음에는
이렇게 UIImagePickerControllerDelegate, UINavigationControllerDelegate 라는 두개의 프로토콜이 필요하다.
imagePicker라는 UIImagePickerController 인스턴스를 생성해준다.
UIImagePickerController 인스턴스를 생성하는데, UINavigationControllerDelegate는 왜 필요한지는 UIImagePickerControllerDelegate의 delegate 속성은 UIImagePickerControllerDelegate와 UINavigationControllerDelegate 프로토콜을 모두 구현하는 객체로 정의되어있다고 한다.
imagePicker.delegate = self를 할 때, self는 UINavigationControllerDelegate 타입이어야 한다. 이게 UIImagePickerControllerDelegate 뒤에 UINavigationControllerDelegate 가 붙여져있다고 한다. ImagePicker의 위임자를 UINavigationControllerDelegate에 위임해야 대리자는, 사용자가 이미지나 동영상을 선택하거나 imagePicker 화면을 종료할때 알림을 받는다고 한다.
카메라나 포토 라이브러리에서 사진이 선택되었을때,??? 그다음에 해야할 것은 이 선택사진을 ImageView에 보여줘야한다.
이때 필요한것은 UIImagePickerControllerDelegate에 정의되어있는 메소드를 활용하면된다.
이 메소드를 쓰면된다. didFinishPickingMediaWithInfo 가 들어있는 메소드다. 해석하면 픽이 끝났다면 생기는 메소드? 이른느낌이다.
여기서 Info를 출력하면
여기서 찾아야할 것은 UIImagePickerControllerOriginalImage이다.
captureImage = info[UIImagePickerController.InfoKey.originalImage] as? UIImage
이뜻은 원본이미지를 가져오는 것이라고 한다.
info[UIImagePickerController.InfoKey.EditedImage] as? UIImage는 편집된 이미지를 가져오는 것이라고 한다.
뭐 할튼 그 이미지를 이미지뷰에 넣어주고
마지막은 Dismiss를 꼭해줘야한다고 한다.
[swift] 프로퍼티 - stored property (0) | 2021.03.12 |
---|---|
[iOS] CGRect, CGSize, CGPoint (0) | 2021.03.12 |
[iOS] 음악재생, 녹음하는앱(5) - 녹음하기 (0) | 2021.02.11 |
[iOS] 음악재생, 녹음하는앱(4) - 재생시간표시, 녹음파일 형성 (0) | 2021.02.11 |
[iOS] 음악재생, 녹음하는앱(3) - 재생시간 (0) | 2021.02.11 |
댓글 영역