我正在开发一个应用程序,我需要从一个线程截图。我无法做到这一点使用下面的代码:如何使用NSThread截取UIView的截图?
UIGraphicsBeginImageContextWithOptions(self.view.frame.size, YES, [[UIScreen mainScreen] scale]);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *resultingImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
如果有人要纪念这个问题的重复,那么请给我提供一个适当的链接,也应采取请关心这个,我问在线程中创建图像。
谢谢你的时间。
是的,这是我现在面临的所有场景,但没有办法,我可以创建任何UIView的UIImage?现在我尝试了NSThread和NsOperation并使用 - (void)performSelectorInBackground:(SEL)aSelector withObject:(id)arg方法。但是对于他们所有人来说,我都会遇到网络锁定错误,并且我的应用程序崩溃了。 –
@Jack_iPhone不,不可能,不管你如何将代码卸载到另一个线程。截取屏幕截图的位必须在主线程上完成。 – JustSid
根据Apple文档,必须在主线程上调用所有UIKit方法。请注意,'UIGraphicsGetImageFromCurrentImageContext'(以及您调用的所有其他方法)都以'UI'开头,因此是UIKit方法! – lnafziger