티스토리 뷰
1. class PhotoViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate
UIImagePickerControllerDelegate와 UINavigationControllerDelegate를 채택해준다
2. let picker = UIImagePickerController()
3. viewDidLoad에서 picker.delegate = self
4. addPhoto함수에서 UIAlertController와 UIAlertAction을 만들어서 controller에 action을 붙이고, controller을 present해준다.
let actionSheet = UIAlertController(title:nil, message:nil, preferredStyle: .actionSheet)
let library = UIAlertAction(title:"앨범 열기", style: .default){
(action) in 함수이름(self.어쩌고 식으로 쓴다)
}
let cancel = UIAlertAction(title:"취소", style: .cancel)
actionSheet.addAction(library)
actionSheet.addAction(cancel)
present(actionSheet, animated: true, completion: nil)
5. action을 선택했을 때 실행할 함수를 정의해준다: 이 함수는 갤러리를 여는 함수이므로, picker의 sourceType을 정의해주고 picker을 present해주면 된다.
func openLibrary(){
picker.sourceType = .photoLibrary
//picker의 source type을 photo library로 해준다
present(picker, animated: false, completion: nil)
//
}
6. imagePickerController에서 사진을 골랐을 때, return을 해주면서 사진을 다시 원래 뷰로 리턴해주고 싶어할 것이다. 이 함수는 원래 정의되어 있는 함수니까, 괄호 안만 채워주면 된다!
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
if let image = info[UIImagePickerController.InfoKey.originalImage] as? UIImage{
imageView.image = image
print(info)
}
dismiss(animated: true, completion: nil)
}
7. 끝!이긴 한데 밖에 클릭했을 때 키보드 내려가는 기능은 이렇게 구현한다고 한다. ㄹㅇ끗
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?){
self.view.endEditing(true)
}
'macOS, iOS' 카테고리의 다른 글
swift로 table view안에 date picker 넣기 (0) | 2019.05.05 |
---|---|
iOS 시뮬레이터에서 두 손가락 터치 기능을 쓰고 싶을 때! (0) | 2019.05.02 |
setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key backgroundArea.' 이런 에러가 뜰 때 (0) | 2019.05.01 |
Swift 02. 명명법 / 콘솔로그 / 문자열 보간법 (0) | 2019.01.20 |
코코아팟(cocoaPods) (0) | 2019.01.15 |