2012-05-27 69 views
0

所以,這裏是我的視圖層次結構:我有一個視圖(默認viewControllher的_view)在一個UIWebView子視圖中的Xib。在同一個Xib文件中,單獨的第二個視圖(不在_view內部)稱爲floatView。 floatView以編程方式添加到UIWebView的頂部,並可由用戶拖動。內部floatView我有一個較小的子視圖(cropView)。 我想使用cropView作爲裁剪框架來獲取它下面的可見部分webView。使用浮動UIview裁剪(UIGraphicsImageContext)圖像

繼承人我試圖用它來做代碼,但結果不是我所需要的。

- (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

解決了它(有點兒)。在_view層次結構中移動了floatView,o在webView頂部,並設法使用[view.layer presentationLayer] .frame解決方案獲得其原點座標,我找到了here。現在它可以工作...