UIGetScreenImage - Private API
但是,我在应用程序中使用的是UIGetScreenImage,因为大家都知道Apple拒绝使用私有API的应用程序。 我已经研究了使用拍照实现此目的的其他方法,但是您会得到不同大小的图像以及令人讨厌的快照声音。 Microsoft标签。 Quickmark和Redalaser都使用UIGetScreenImage(很明显),但是我想合法地这样做。 有没有人有任何建议。 非常感激。
当前,
更新:从iOS 4开始,不再允许
这可能行得通...我认为这是另一个SO问题的答案。
1 2 3 4 5 6 7 8 9 10 11 | -(UIImage *)captureView:(UIView *)view { CGRect screenRect = [[UIScreen mainScreen] bounds]; UIGraphicsBeginImageContext(screenRect.size); CGContextRef ctx = UIGraphicsGetCurrentContext(); [[UIColor blackColor] set]; CGContextFillRect(ctx, screenRect); [view.layer renderInContext:ctx]; UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return newImage; } |
最好的(也是最慢的)方法是向Apple提出功能请求。