1.问题描述:webview加载的文章,查看图片太灵敏,滑动webview的时候只要手指稍微沾到图片,就会进入图片浏览模式。
2.页面架构:本身这个界面是一个controller(控制器),加载web view的view是重写的一个类(class),是UIView类。在这个controller引用这个uiview类,加载web view信息。
点击事件:在UIView类写的点击事件,使用的block。
@property(nonatomic,strong)void(^action)(NSInteger index,NSMutableArray*array,NSMutableArray * urlArray);//和下面的方法进行参数的传递 -(void)didselectheadViewImage:(void(^)(NSInteger index,NSMutableArray*array,NSMutableArray * urlArray))action;
在controller里面,获取图片信息,引用点击方法。
[_detailTextPictureView didselectheadViewImage:^(NSInteger index, NSMutableArray *array, NSMutableArray *urlArray) { self.picArray = [NSMutableArray arrayWithArray:array]; self.urlImageArray = [NSMutableArray arrayWithArray:urlArray]; [self fangda:index]; }];
放大事件使用的MWPhotoBrowser。
-(void)fangda:(NSUInteger)index{ //点击放大 MWPhotoBrowser *browser = [[MWPhotoBrowser alloc] initWithDelegate:self]; browser.displayActionButton = NO; _mwArray = [NSMutableArray array]; for ( UIImage * image in _picArray) { MWPhoto * photo = [[MWPhoto alloc]initWithImage:image]; [_mwArray addObject:photo]; } [browser setCurrentPhotoIndex:index]; // Show UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:browser]; nc.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; [self presentViewController:nc animated:YES completion:nil]; //保存图片 [browser didselectheadViewImage:^(NSString *idStr) { UIActionSheet* sheet = [[UIActionSheet alloc]initWithTitle:nil delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:nil otherButtonTitles:@"保存到手机", nil]; _imgURL = [_urlImageArray objectAtIndex:[idStr integerValue]-1]; [sheet showInView:[UIApplication sharedApplication].keyWindow]; }]; }
在UIView类里面,加载web view并获取内容信息包括图片使用的是这个方法。
-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)_request navigationType:(UIWebViewNavigationType)navigationType {}
如果有图片的url
if (_imgURL) { _timer = [NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(handleLongTouch) userInfo:nil repeats:NO]; _fangdaTimer = [NSTimer scheduledTimerWithTimeInterval:0.8 target:self selector:@selector(fangdaClick) userInfo:nil repeats:NO]; }
一个是长按保存,一个是放大,使用的timer计时器,但是这个计时器只是延缓了点击出现之后图片出现的时间,而没有改变初始点击的时候为什么这么灵敏的问题。
付费偷看金额在0.1-10元之间
一周热门 更多>