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을 통하여 구분해서 사용할 수 있습니다.
참고 하세요.
'나의 플랫폼 > iOS' 카테고리의 다른 글
[iOS] @IBDesignable, @IBInspectable 활용 (0) | 2017.09.08 |
---|---|
[iOS] Custom Alert (0) | 2017.09.06 |
[iOS] Use of unresolved identifier NSAttributedStringKey (0) | 2017.09.05 |
[iOS] Hex Color -> UIColor (0) | 2017.09.04 |
[iOS] TextField 첫 영문자를 항상 소문자로 시작하는 설정법 (0) | 2017.09.04 |