오늘의 주제
1. UIWebView
2. UIWebViewDelegate
스물 여덟번째 시간입니다.^^
지난 번에는 웹뷰를 만들고 화면에 웹페이지를 띄워 만들어 보았습니다.
자 그럼 오늘은 웹뷰와 함께 이것저것 해 보아야 겠지요?ㅎ
긴 말 없이 시작해 봅니다 ㅎㅎ
p.s. 추천 한 방 어떠세요?ㅎ
# UIWebView - delegate
웹뷰를 화면에까지 띄워보았으니 이제는 앞으로 가기 뒤로가기 등,... 버튼 동작들을 구현해 봅니다.
자, 일단은 지난번에 버튼들에 태그를 달아 두었던 것 기억하시죠?
그 태그를 보다 직관적으로 표현해 보기 위하여 #define과 enum을 사용하여 구현해 보았습니다.
#define과 enum은 뭐냐구요?
아... 음... C에서 나오는 녀석들인데,
C 카테고리에서 포스팅 했습니다..ㅎ
한 번 읽어보세요..^^
2012/05/14 - [C] - C <15>. 전처리자
2012/05/24 - [C] - C <20>. enum
그냥 말 그대로 define (정의) 해 주는 전처리자 입니다.
전처리자는 뭐냐구요?
말그대로 전처리, 전에 미리 처리해 놓는다 이런거구요. 깊이 생각하실 필요없고 그냥
변수처럼 쓰이지만 바꿀 수 없는 static한 변수입니다.
물론... 변수와는 큰 차이가 있습니다만, 무시하세요 ㅎㅎ
이렇게 define과 enum을 사용하여 미리 태그들을 직관적으로 표현해 봅니다. 둘 중 하나만 해도 됩니다.
저는 그냥 아주 약간의 테크닉을 소개해 드리고자 이렇게 두 가지 표현 다 사용 해 본 것 뿐입니다..^^;
그리고 내려와서 지난 번에 만들어 두었던 barButtonClick: 메소드를 알차게 채워줍니다^^
짜잔~
실행해 보고 버튼을 눌러봅니다~
잘 동작 되시나요?ㅎ
그런데 코드에서 보면... 네 번째 function 버튼의 동작과 모양이 일치하지 않음을 알 수 있습니다. 그러면 웹뷰의 동작 상태에 따라
버튼의 모양을 상황에 맞게 변경해 주어야 겠지요?ㅎ
그러면 누군가 웹뷰의 상태를 보면서 웹뷰가 특정 행동을 할 때, 그에 맞는 상황 대처를 해 주어야 합니다.
그 녀석이 뭐라고 했죠?
네 맞습니다! delegate !!
# UIWebView - delegate
자, 그러면 Web View의 델리게이트에 대해 알아봐야겠습니다 ㅎㅎ
검색을 알차게 해 봅니다~
아직도 Documentation의 단축키를 모르신다구요?
ㅠ_ㅠ Command + Alt + Shift + / 입니다.
자, 그렇게 해서 레퍼런스를 찾아보니, 델리게이트가 해줄 수 있는 일들이 나오네요 ㅎ
우리가 필요한 것은 웹뷰가 로딩을 시작할 때, 그리고 끝냈을 때 입니다.
왜냐구요? 로딩을 시작하면 정지 버튼으로 변경 해 주고, 로딩이 끝나면 새로고침 버튼으로 변경 해줘야 하니까요 ~
자, 그럼 이 녀석들에 대한 설명을 읽고, 이녀석이다 싶으면 메소드를 복사 해 옵니다~
Bar Button은 툴바 안에 속해 있는 녀석이죠.
일단 그 녀석을 변경해 주려면 툴바의 도움이 필요할 것 같군요~
툴바의 아울렛을 선언 해 줍니다.
이렇게 이쁘게 연결이 되었겠죠?ㅎ
그리고 알차게 코드를 폭풍입력!!!!!!!!!!!!!
코드에 대한 설명은 주석으로 알차게 달려있답니다^^*
그리고 나서 동작 상태에 따라 버튼모양이 이쁘게 변하는지 확인 해 봅시다~
어떤가요?ㅎ
델리게이트라는 녀석 참 오묘하고 재미나지 않나요?
오늘은 여기 까~지~^^
다음에 또 만나요~
by yagom
twitter : @yagomsoft
p.s 제 포스팅을 RSS 피드로 받아보실 수 있습니다.
RSS Feed 받기
↓↓↓저 열심히 썼는데 추천 한방 꾹 눌러주고 가시는 건 어떨까요? 로그인이 필요 없습니다. ^~^ 고맙습니다~ ↓↓↓
'iOS Dev > 함께해보기' 카테고리의 다른 글
iOS개발하기 #30. 음악재생 (AVAudioPlayer) (51) | 2012.05.14 |
---|---|
iOS개발하기 #29. 경고창 (UIAlertView) (20) | 2012.05.11 |
iOS개발하기 #27. 웹뷰 (WebView) <1> (42) | 2012.05.07 |
iOS개발하기 #26. 이미지 피커 (UIImagePickerController) <사진찍기, 사진 불러오기> (35) | 2012.04.26 |
iOS개발하기 #25. 액션시트 (UIActionSheet) (17) | 2012.04.21 |