iOS개발하기 #25. 액션시트 (UIActionSheet)

# 오늘의 주제

1. UIActionSheet
2. UIActionSheetDelegate 

벌써 스물 다섯 번째 시간입니다.^^
애니메이션은 흥미로우셨나요?ㅎ
이제 슬슬 뭔가 흥미가 오시는지, 아니면 아직도 뭐가 뭔지 잘 모르시는지..ㅋㅋㅋ
피드백이 없네요
이런이런 점이 부족하다 말씀해 주시면 좀 더 발전이 있을 것 같은데..^^;
자 그럼 서론은 이만 마치고 새로운 주제로 넘어가 봅시다~
이번 주제는 UIActionSheet 입니다!
액션 시트가 뭐냐구요? 이제 알게 되겠죠?ㅎ
★ 이번 포스팅은 Potomac님의 요청으로 진행해보았습니다 ^^
사실 이거 해봐야지 하다가 마침 Potomac님께서 요청해 주셔서 이제야 합니다 ㅎ 고맙습니다!

## UIActionSheet
UIActionSheet는 사용자의 응답을 받기 위한 하나의 방법입니다.
이제 시작해 보도록 합시다.
자, 이제까지 그래왔던 것처럼 계속 프로젝트 사용합니다~ 절대 귀찮아서 그런거 아녜요~
나중에 이 프로젝트 하나만 보면 아~ 아~ 생각날 수 있잖아요?ㅎㅎ
자, MyAnimationViewController에서 만들어 주었던 움직이는 버튼녀석의 크기를 좀 키워줘 봅시다~ 저는 100*100으로 변경했습니다.

그리고 버튼에 액션을 연결해 줍니다. imageButtonclick이라는 메서드로 연결해 주었습니다.

이렇게 연결이 되었죠? 그리고 우리는 액션시트를 사용하면서 딜리게이트도 사용해야 해요~ 왜 그런지는 밑에서 설명해 드릴게요 ㅎ
우선 나 액션시트의 딜리게이트가 되겠다! 라고 말해줍니다.

자, 그리고 이제 버튼을 눌렀을 때 동작할 것을 코딩해 줍니다.
설명은 주석으로 달아놨으니 참고하세요^^

이렇게 코딩하고 실행하면 요로코롬 나옵니다.
이것은 시뮬레이터에서 실행 했을 때의 화면이구요

이 화면은 실제 기기에서 실행 했을 때의 화면입니다.

destructive button과 other button 의 차이 보이시나요?
또한 위에 조건에서 사진이 없는 디바이스에서는 사진찍기 버튼이 나오지 않게 처리가 되었기 때문에 시뮬레이터와 아이폰에서 이렇게 차이가 나게 됩니다.
버튼을 눌러봅시다~ 뭔가 반응이 있나요?ㅎㅎ 없죠~ 없어요~
자, 그러면 우리가 액션시트 딜리게이트를 사용해야 할 이유를 여기에서 찾아봅시다.
액션시트 자체는 "얼굴마담" 입니다.
즉, 액션시트는 화면에 보여주기만 하고, 유저가 응답을 하였을 때, 적절히 처리해줄 녀석이 필요한 것입니다. 그녀석이 물론 딜리게이트겠지요?
아래 그림을 참고하시면 조금 더 이해가 되실지 모르겠습니다^^...

자, 그럼 이제 액션시트 딜리게이트 레퍼런스로 가볼까요?
액션에 응답하기 목록에 메서드가 하나 있네요. 유저가 액션을 취했으니 그에 맞는 응답을 주어야 겠지요~
클릭해 봅시다.

'유저가 액션시트의 버튼을 클릭했을 때, 딜리게이트에게 전송한다' 라고 설명이 되어있네요.
일단 메서드를 복사합니다 ㅎ

자, 우리는 아까 액션시트를 만들어 줄때, MyAnimationViewController를 딜리게이트로 지정했으니 MyAnimationViewController의 구현파일로 옵니다.
거기서 적절하게 딜리게이트를 구현해 봅니다.

이렇게 딜리게이트 메서드를 만들어 주고, 원하는 기능을 추가하면 됩니다.
이제 어떤 기능을 넣을 거냐구요?
그건 다음 시간에...!ㅋㅋㅋ
I'll be back!
by yagom

p.s 제 포스팅을 RSS 피드로 받아보실 수 있습니다.
RSS Feed 받기   

 



댓글 남기기

Close