我想知道我的iPhone应用程序如何将一个特定的UIView作为一个UIImage进行截屏.

我试过这个代码,但我得到的只是一张空白图像.

UIGraphicsBeginImageContext(CGSizeMake(320,480));
CGContextRef context = UIGraphicsGetCurrentContext();
[myUIView.layer drawInContext:context];
UIImage *screenShot = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

myUIView的尺寸为320x480,并且它有一些子视图. 做这件事的正确方法是什么?

推荐答案

我想你可能要renderInContext英镑,不是drawInContext英镑.drawInContext更像是一种您会重写的方法.

请注意,它可能不会在所有视图中都起作用,特别是大约一年前,当我try 在实时摄像机视图中使用它时,它不起作用.

Ios相关问答推荐

实例方法wait在异步上下文中不可用;请改用TaskGroup;这是Swift 6中的错误''

更新@PersistableEnum时是否需要执行迁移块?

在SwiftUI中使用系统图像和色调创建圆形按钮

在某些情况下,UIHostingController在自动调整时不能调整大小

如何将Safari调试器附加到Turbo-iOS原生应用中的模拟器

Xcode -Google Mobile Ads SDK在没有AppMeasurement的情况下初始化

NSHashTable要求任何MyCustomProtocolAnyObject都是类类型

尽管存在浮点错误,如何显示正确的计算结果.计算器应用程序

长按 SwiftUI 更改项目的顺序

动画文本位置

查找东南亚语言(泰语、高棉语、老挝语、缅甸语)中的单词边界

如何包含 Xcode 子项目标头?

用溢出的长文本对齐 Flutter 中的行和列

`Task` 在内部调用异步函数时阻塞主线程

iOS 中的 [Class new] 和 [[Class alloc] init] 有什么区别?

iPhone iOS 无法正确显示 box-shadow

iOS:应用程序在安装应用程序时未征求用户许可.每次都获得 kCLAuthorizationStatusNotDetermined - Objective-c & Swift

为所有 UIImageViews 添加圆角

NSURLSession:如何增加 URL 请求的超时时间?

什么是强属性属性