2010-03-09 2 views
1

탭 이벤트를 수락하는 UIWebView에 대한 대안을 적용하는 데 어려움을 겪고 있습니다. 출처 :프로토콜 방법

http://mithin.in/2009/08/26/detecting-taps-and-events-on-uiwebview-the-right-way/

. 저자는 프로토콜에 선언 된 '-userDidTapWebView'메서드를 구현해야한다는 독자에게 상기시켜줍니다. 원하는 결과를 얻으려면이 메서드를 구현하는 위치와 방법을 알 수 없습니다. 그래서 친절하게 도움을 청합니다. 이것에 대한 인내심을 미리 감사드립니다!

답변

1
@protocol TapDetectingWindowDelegate 
- (void)userDidTapWebView:(id)tapPoint; 
@end 

이것은 이 프로토콜의 내용을 구현해야 클래스을 채택한 프로토콜 (자바/C#을/D 용어의 인터페이스), 선언 (즉, -userDidTapWebView: 방법을.)

이후에 페이지는

@interface WebViewController : UIViewController<TapDetectingWindowDelegate> 

<…>는 WebViewController 클래스는 t을 채택 의미 그는 TapDetectingWindowDelegate 프로토콜을 사용합니다. 따라서이 클래스는이 채택에서 부과 된 제한을 충족해야합니다. 즉 WebViewController는 -userDidTapWebView:을 구현해야합니다.

구현은 @implementation에서 이루어집니다.

@implementation WebViewController 
- (void)userDidTapWebView:(id)tapPoint { 
    NSLog(@"User tapped web view at point %@.", tapPoint); 
} 
@end