这是我的视图层次结构:我在Xib中有一个视图(默认viewControllher的_view),其中包含一个UIWebView子视图。在同一个Xib文件中,单独的第二个视图(不在_view内)称为floatView。 floatView以编程方式添加到UIWebView之上,可以由用户拖动。在floatView里面我有一个较小的subView(cropView)。 我想使用cropView作为裁剪框架来获取其下的可见部分webView。
继承我正在尝试使用的代码,但结果不是我需要的。
- (IBAction)captureImage:(id)sender {
CGSize layerSize = self.view.bounds.size;
UIGraphicsBeginImageContext(layerSize);
[self.webView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
[floatView convertRect:cropView.frame toView:self.view];
CGRect CropFrame = cropView.frame;
CGImageRef subImageRef = CGImageCreateWithImageInRect(image.CGImage, CropFrame);
UIImage *subViewImage = [UIImage imageWithCGImage:subImageRef];
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(subViewImage, nil, nil, nil);
}
我在相机胶卷中获得的图像是裁剪后的图像,其大小不正确,不在可见的webView的正确位置。
我查看了其他帖子和解决方案,但找不到解决我问题的方法。
答案 0 :(得分:0)
解决了它(有点)。在_view层次结构中移动了floatView,在webView的顶部移动并设法使用[view.layer presentationLayer] .frame解决方案获取其原点坐标,我找到了here。现在它有效......