这是我粗略的使用UIWebView中点击手势,可是一开始怎么都是没有办法成功。没有调用自己定义的方法。
粗略代码如下:仅供观看:
UIWebView:
webViewPic = [[UIWebViewalloc] initWithFrame:CGRectMake(0,44, Kwidth,Kheight - 64 -48)];
webViewPic.scrollView.showsVerticalScrollIndicator =NO;
webViewPic.delegate =self;
webViewPic.scalesPageToFit =NO;
// webViewPic.userInteractionEnabled = YES;
[webViewPicloadHTMLString:strPicLinkbaseURL:[NSURL URLWithString:nil]];
[self.viewaddSubview:webViewPic];
手势代码:
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizeralloc] initWithTarget:selfaction:@selector(handleSingle:)];
singleTap.delegate= self;
singleTap.cancelsTouchesInView =NO;
[webViewPicaddGestureRecognizer:singleTap];
这里调用的是handleSingle自定义方法,方法如下:
-(void)handleSingle:(UITapGestureRecognizer *)sender{
if (picLocal >=0.0 && picLocal <=allPicLink.count) {
if (picLocal ==allPicLink.count - 1) {
picLocal = allPicLink.count -2;
}
[webViewPicloadHTMLString:[NSStringstringWithFormat:@"<html><body><img width='960px' src='%@'/></body></html>", [allPicLinkobjectAtIndex:(++picLocal)]]baseURL:nil];
}
}
当然了,大家没有必要细细的看上面的代码,就是这里除了问题,看是没有问题的,当点击UIWebView上面的时候,应该会调用指定的handleSingle方法的,可是问题来了,点击的时候完全乜有任何的反应。下面是问题的关键中的关键:那就是少写了一个方法:
#pragma mark -
#pragma mark UIGestureRecognizerClick
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
returnYES;
}