오늘의 주제
- UIImagePickerController
- UIImagePickerControllerDelegate
스물 여섯 번째 시간입니다.^^
지난 번 액션시트에 이어 이어지는 포스팅입니다^^
2012/04/21 - [iOS Dev/함께해보기] - iOS개발하기 #25. 액션시트 (UIActionSheet)
이번에는 액션시트를 눌러서 적절히 사진을 불러오는 방법에 대해 알아봅니다~
재미있겠지요?ㅎㅎ
고고!!
★ 이번 포스팅은 Potomac님의 요청으로 진행해보았습니다 ^^
사실 이거 해봐야지 하다가 마침 Potomac님께서 요청해 주셔서 이제야 합니다 ㅎ 고맙습니다!
UIImagePickerController
자, 이제 사진을 불러와 보도록 할게요~
우선은 이미지 피커 이녀석도 자신을 도와줄 딜리게이트가 필요로 합니다.
이녀석을 쓰려면 딜리게이트가 두놈이 필요한데요, UIImagePickerControllerDelegate와 UINavigationControllerDelegate입니다.
이녀석 화면을 왔다갔다 하려면 네비게이션이 필요해서 그런가봐요 ㅎㅎㅎ
헤더파일에서 이쁘게 적어줍니다.
그리고 MyAnimationViewController의 구현파일로 넘어와서 액션시트 딜리게이트 메서드에 이미지피커 컨트롤러 녀석들을 적절히 넣어줍니다.
자세한 설명은 주석처리 되어있으니 참고하시기 바랍니다~
저는 버튼이 정사각형이라 정사각형으로 자르고 싶어서 allowEditing 옵션을 YES로 설정해 주었습니다.
자, 그런데 이렇게 사진을 불러오려고 하는데, 시뮬레이터에 사진이 없습니다...
하............ 멘붕..........ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
하지만 다 방법은 있죠잉~
원하는 사진을 시뮬레이터 화면으로 끌어오면 사파리창이 뜨면서 이미지가 나옵니다.
그럼 이미지를 꾸욱 눌러주시면 아래처럼 액션시트가 등장합니다. 공교롭게도 지난번에 포스팅했던 액션시트가 나오네요 ㅎㅎㅎ
저장해줍니다.
물론 디바이스에서 실행하면 이렇게 사진들이 쭈욱쭈욱 나오겠죠?ㅎ
어쨌든 시뮬레이터건 디바이스건 사진을 선택해 봅시다.
사진을 선택하고 나면 이렇게 나오는데요~ Choose 또는 선택 버튼을 눌러보세요~
네...ㅋㅋㅋㅋㅋㅋㅋㅋ
아무일도 일어나지 않습니다.
왜냐구요? 이미지 피커 컨트롤러도 얼굴마담일 뿐이거든요 ㅋㅋㅋ
그래서 딜리게이트에게 무엇을 해달라고 말해야 합니다.
그러면 딜리게이트가 뭘 해줄 수 있는지 알아봐야겠지요?
또 개발문서로 놀러가 봅시다 ㅎㅎ
Picker를 닫을 때 딜리게이트가 할일이 있네요~
'사용자가 사진이나 동영상을 집어내었을 때 딜리게이트에게 말해준다.' 라고 설명되어있네요.
요 메서드를 일단 복사해 둡시다.
그리고 넘어오는 인자중에 info라는 녀석이 있는데 우리는 이녀석이 무엇인지 모르겠습니다.
한번 링크를 클릭해 봅시다.
우리가 원하는 녀석을 찾아봅니다.
네모로 잘린 사진을 원하는데.....
아! 찾았네요!
UIImagePickercontrollerEditedImage라는 키로 이미지를 불러올 수 있다고 하네요 ㅎ
뭐 이정도 알아냈으니 충분한 것 같습니다.
이제 다시 코딩의 세계로 여러분을 초대합니다 ㅎㅎㅎ
우리는 피커를 띄워줄 때, MyAnimationViewController를 딜리게이트로 지정을 해 주었습니다.
그러므로 MyAnimationViewController 구현파일로 와서 딜리게이트 메서드를 구현해 줍니다.
아까 복사해 두었죠~?
그리고 실행하여 사진을 선택해 봅니다~
짜잔~ 버튼으로 이쁘게 이미지가 들어왔네요 ㅎㅎㅎ
어때요 흥미로운 내용이었나요?
다음 번에는 뭘 해볼까나요? ㅎ 피드백좀 주세요~_~
다음에 뵈어요~
by yagom
p.s 제 포스팅을 RSS 피드로 받아보실 수 있습니다.
RSS Feed 받기