UIWebView 를 View Controller 에 추가하게 되면, 우리가 사용하는 모바일 Safari 브라우저처럼 back button 이 제공되지 않는다. 이를 stack 을 이용하여 실제로 구현하려고 하면 머리가 아픈데, 이미 이런 기능이 있지 않을까 라고 생각 했는데, 이미 있었다. :)
UIWebView Class Reference 를 살펴보면 아래와 같은 Instance method 를 발견 할 수 있다.
goBack
Loads the previous location in the back-forward list.
- (void)goBack
Availability
- Available in iOS 2.0 and later.
실제로 back button 을 이용하여 back 기능을 구현하려면 UIWebView 를 사용하는 View Controller 클래스에서 UIWebViewDelegate 를 위임받으면 된다.
MyViewController.h
@interface MyViewController : UIViewController <UIWebViewDelegate> { IBOutlet UIWebView myWebView; } @property (nonatomic, retain) IBOutlet UIWebView myWebView; |
MyViewController.m
@implementation MyViewController { @synthesize myWebView; ... - (void)webViewDidFinishLoad { backButton.enabled = (myWebView.canGoBack); } - (void) backButtonClicked :(id)sender { [myWebView goBack]; } |
아래 그림처럼 Back 버튼에 backButtonClicked 이벤트를 등록해 주면 된다.
'Programming > iPhone, Xcode' 카테고리의 다른 글
iOS - 테이블뷰셀 사용자 정의하기 (TableViewCell customize) (0) | 2013.01.23 |
---|---|
iOS - iPhone 에 있는 파일들의 경로를 읽어 오기 (0) | 2013.01.23 |
iOS - Core Data relation tutorial (0) | 2013.01.20 |
iOS - Core Data Tutorial 추천 (0) | 2013.01.20 |
iOS - Core Data attribute types (0) | 2013.01.20 |