菜鸟教程小白 发表于 2022-12-13 12:38:27

ios - 如何在ios9中捕获 View 的完整屏幕截图


                                            <p><p>截屏使用下面的代码</p>

<pre><code>CGSize screenSize = [ bounds].size;
UIGraphicsBeginImageContextWithOptions(screenSize, view.opaque, 0.0);
;

UIImage * img = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();
</code></pre>

<p>但它给出了错误>>:CGImageCreateWithImageProvider: invalid image provider: NULL.</p>

<p>我不明白它是什么。</p>

<p>请帮忙!!
如何在ios9中截屏</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p><strong>解决方案 1:</strong></p>

<p>新 <a href="https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIView_Class/index.html#//apple_ref/occ/instm/UIView/snapshotViewAfterScreenUpdates%3A" rel="noreferrer noopener nofollow">API</a>自 iOS 7 以来已添加,应该提供获取快照的有效方式</p>

<p><code>snapshotViewAfterScreenUpdates</code>:将 View 渲染为内容不可修改的 UIView</p>

<p><code>resizableSnapshotViewFromRect:afterScreenUpdates:withCapInsets :</code> 相同的东西,但带有可调整大小的插图</p>

<pre><code>drawViewHierarchyInRect:afterScreenUpdates:
</code></pre>

<p>:如果您还需要绘制所有 subview (如标签、按钮...),也一样</p>

<p>您可以将返回的 UIView 用于任何 UI 效果,或者在需要导出时像您所做的那样渲染成图像。</p>

<p><strong>解决方案 2:</strong></p>

<pre><code>- (UIImage *) screenshot {
    UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, NO, .scale);

    ;

    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return image;
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何在ios9中捕获 View 的完整屏幕截图,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/34715561/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/34715561/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何在ios9中捕获 View 的完整屏幕截图