ios - 如何在 Swift 中从不同于 (0, 0) 的坐标开始?

标签 ios swift

我想截取 375x375 像素宽的屏幕截图,但我不希望它从屏幕左上角的 (0, 0) 开始,我希望它从 (0, 64) 开始。我怎样才能做到这一点?

这是我的功能:

func screenShotMethod() {
    let size = CGSize(width: 375, height: 375)
    UIGraphicsBeginImageContextWithOptions((size), false, 0.0)
    view.layer.render(in: UIGraphicsGetCurrentContext()!)
    let image = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()
    UIImageWriteToSavedPhotosAlbum(image!, nil, nil, nil)
}

最佳答案

您可以做到这一点的一种方法是创建一个与您想要的大小相同的 UIView 并将其背景设置为清晰的颜色,然后使用该 UIView 而不是代码中的 view

您也可以使用代码 here它是 UIView 的扩展,完全可以满足您的需求

关于ios - 如何在 Swift 中从不同于 (0, 0) 的坐标开始?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43838227/

相关文章:

ios - 如何分别显示时间 'just now' '1 minute ago' '1 hour ago'

ios - 带有声音/音频的 NSMutableAttributedString

ios - 实时数据画线时如何刷新屏幕

swift - 使用泛型创建结构数组

ios - 如何使用 ObjectMapper 映射这个简单的 JSON

Swift:对核心数据实体数组的核心数据提取请求

swift - 从像素数据重建图像

iOS:KVC,当我退出我的应用程序时,KVC 出现问题

ios - IBDesignable 的自定义背景颜色属性不会根据目标进行更新

objective-c - 标签栏项目标题以编程方式未显示在 objective-c 中