基本上我想截屏一个名为 CustomViewLayout 的 UIView,它属于 MyClass。MyClass 的视图被分配给 NormalView。因此,如果我调用self.view
它将引用 NormalView。我创建了一个属性viewCustom
,它是 CustomViewLayout 的一个出口。无论如何,我想截图CustomViewLayout,我试过这个:
UIGraphicsBeginImageContextWithOptions(self.viewCustom.bounds.size, self.viewCustom.opaque, 0.0);
[self.viewCustom.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage * img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return img;
然后该图像会显示/附加在应用内邮件 ( MFMailComposeViewController
) 中。而且它不起作用,它显示一个带有问号的蓝色框,我认为这意味着图像不可读。我知道我的应用内邮件图片附件代码没有任何问题,因为如果我将屏幕截图代码更改为self.view
如下截图:
UIGraphicsBeginImageContextWithOptions(self.viewCustom.bounds.size, self.viewCustom.opaque, 0.0);
[self.viewCustom.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage * img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return img;
然后它工作正常。那么我应该怎么做才能截取我的另一个视图呢?谢谢您的帮助!