지난 번 인스타그램 레이아웃을 작성한 뒤 이번엔 게시물을 업로드하는 기능을 구현하는 예제를 정리해볼까합니다.
Right BarButton 적용할 액션 메소드를 추가해줍니다.
ImagePicker뷰를 프레젠트 해주어야하므로
UIImagePickerController를 선언해줍니다.
이제 버튼을 누르면 이미지 선택하는 화면으로 넘어가게 되는 것을 볼 수 있습니다.
원래는 앨범 접근에 관련한 권한을 Plist에서 부여해야합니다.
따라서 Plist에서 Photo Library Usage Description을 추가합니다.
이미지 피커 컨트롤러의 속성에서 allowsEditing을 추가하여 true로 설정해주면
이미지 확대 및 편집이 가능하게 됩니다.
이제 Choose를 누른 후 동작을 구현합니다.
Choose를 누르면 ImagePicker뷰가 Dismiss되어야하고 게시물 작성 화면이 나오게 될 것입니다.
UIImagePickerControllerDelegate를 통해 위 과정이 가능합니다.
//UIImagePickerControllerDelegate를 사용할 때 UINavigationControllerDelegate도 필요
extension FeedViewController : UIImagePickerControllerDelegate , UINavigationControllerDelegate{
//이미지를 선택하고 choose 눌렀을때 다음에 실행되는 메소드
func imagePickerController(_ picker: UIImagePickerController,
didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
//선택된 이미지
var selectImage : UIImage?
//수정된 이미지가 존재할때 그대로 선택된 이미지로 할당. 없다면 오리지널 이미지.
if let editedImage =
info[UIImagePickerController.InfoKey.editedImage] as? UIImage { //info => 선택된 이미지의 정보를 가진 딕셔너리
selectImage = editedImage
}else if let originalImage = info[UIImagePickerController.InfoKey.originalImage] as? UIImage {
selectImage = originalImage
}
}
}
사진 선택 후 넘어가는 뷰 컨트롤러를 만들어줍니다.
'IOS' 카테고리의 다른 글
[iOS] RXswift (2) - Traits (0) | 2022.05.13 |
---|---|
iOS) RXswift란? - Observable (0) | 2022.05.12 |
iOS) 스토리보드 없이 인스타그램 레이아웃 그리기 & ActionSheet (0) | 2022.05.10 |
iOS) 스토리보드 없이 레이아웃 그리기 연습 & 공유기능(Share Sheet) 구현 예제 (3) (0) | 2022.05.08 |
iOS) 스토리보드 없이 레이아웃 그리기 연습 & 공유기능 구현 예제 (2) (0) | 2022.05.08 |
댓글