如何拍摄UIView的照片?

时间:2016-05-14 18:53:14

标签: ios objective-c uiview

我有一个应用程序,当我在另一个视图中时,我想要截取UIView的截图。我在其中一个页面上有4个视图,可以使用分段控件切换。但是当我在第一段时,我希望在第二段中显示bmy视图。我有什么方法可以做到这一点吗?

这是我到目前为止所使用的:

UIGraphicsBeginImageContext(self.view.bounds.size);
CGContextRef context=UIGraphicsGetCurrentContext();
[self.view.layer renderInContext:context];        
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

CGRect rect;
rect=CGRectMake(0, 120, 320, 560);
CGImageRef imageRef = CGImageCreateWithImageInRect([image CGImage], rect);
Screenshot = [UIImage imageWithCGImage:imageRef];
CGImageRelease(imageRef);

return Screenshot;

这让我看到了我目前所处视图的截图。 我想要做的是在第一个视图中截取第二个视图的截图。

这是我改变的:

UIGraphicsBeginImageContext(View2.bounds.size);

由于某些原因,这不起作用?你能告诉我为什么以及如何解决它?

1 个答案:

答案 0 :(得分:0)

您需要将[self.view.layer renderInContext:context];更改为[self.view2.layer renderInContext:context];

UIGraphicsBeginImageContext(View2.bounds.size);仅指定渲染视图的边界!