[iOS] Get image with actionsheet
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을 통하여 구분해서 사용할 수 있습니다.
참고 하세요.