2014년 10월 29일 수요일

UIWebView에 싱글터치 이벤트를 발생시키기...(아이폰)

UIWebView는 터치이벤트를 먹지 않는다.( User Interac Enable 옵션 활성화시...옵션을 끄면 터치이벤트는 먹지만...스크롤이 안된다 )

그래서 제스처를 이용해서 싱글터치 이벤트를 발생시켰다

viewDidLoad에 아래 코드 추가

UITapGestureRecognizer *singleFingerDTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleDoubleTap:)];

    singleFingerDTap.numberOfTapsRequired = 1;
singleFingerDTap.delegate = self;
    [self.webView addGestureRecognizer:singleFingerDTap];
    [singleFingerDTap release];


메소드 추가

- (IBAction)handleSingleDoubleTap:(UIGestureRecognizer *)sender {
    CGPoint point = [sender locationInView:sender.view];
if([sender numberOfTouches] == 1) {
//이벤트 발생
}
}

헤더에 UIGestureRecognizerDelegate를 받을 수 있게 추가해주고, 아래 코드 추가.
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
return YES;
}

이렇게 하면 된다.

추가로 UIWebView에서 멀티터치 줌이 되게 하려면
webView.scalesPageToFit = YES;
위 코드를 추가해주면 된다.

댓글 없음: