티스토리 뷰

macOS, iOS

사진 라이브러리 만들기

SweetDev 2019. 5. 1. 15:58

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)

    }

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함