본문 바로가기

나의 플랫폼/iOS

[iOS] Get image with actionsheet

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

private func actionSheetPicker() {

let alert = UIAlertController(title: nil, message: "이미지를 가져올 곳을 선택해주세요.", preferredStyle: .actionSheet)


let cameraAction = UIAlertAction(title: "카메라", style: .default, handler: {action in self.pickImage(.camera)})

let albumAction = UIAlertAction(title: "저장앨범", style: .default, handler: {action in self.pickImage(.savedPhotosAlbum)})

let photoLibraryAction = UIAlertAction(title: "사진 라이브러리", style: .default, handler: {action in self.pickImage(.photoLibrary)})

            

alert.addAction(cameraAction)

alert.addAction(albumAction)

alert.addAction(photoLibraryAction)

        

self.present(alert, animated: true, completion: nil)

}

    

private func pickImage(_ sourceType: UIImagePickerControllerSourceType) {

let picker = UIImagePickerController()

picker.delegate = self

picker.sourceType = sourceType

picker.allowsEditing = true

        

self.present(picker, animated: false, completion: nil)

}


@IBAction func pick(_ sender: Any) {

actionSheetPicker()

}


iOS 8부터 지원하기 시작한 새로운 UIKit 객체가 UIAlertController 이다.

이 전에는 UIAlertView와 UIActionSheet 클래스를 이용 했었다.

이걸 대신해서 preferredStyle을 통하여 구분해서 사용할 수 있습니다.


참고 하세요.