【发布时间】:2019-07-26 18:32:28
【问题描述】:
我有一个 UIScrollView 作为视图控制器主视图的子视图。我正在尝试仅保存 UIScrollView 框架中可见的任何内容的屏幕截图。
UIGraphicsBeginImageContextWithOptions(imageScrollView.bounds.size, false, UIScreen.main.scale) 让上下文 = UIGraphicsGetCurrentContext() context?.translateBy(x: 0, y: 0)
view.layer.render(in: context!)
let visibleScrollViewImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
let popupImageView = UIImageView(image: visibleScrollViewImage)
popupImageView.layer.borderColor = UIColor.white.cgColor
popupImageView.layer.borderWidth = 4
popupImageView.frame = CGRect(origin: CGPoint(x: 0, y: 400), size: CGSize(width: 400, height: 400))
imageScrollView.removeFromSuperview()
view.addSubview(popupImageView)
带有 popupImageView 的部分只是为了测试并查看实际保存的内容,似乎存在一些偏移问题,水平轴很好,但我似乎只得到了我想要的图像的前三分之一,并且上面只是黑暗的空间。
似乎这一定是一个非常简单的解决方案,但我已经搜索了所有类似的问题,但找不到答案。
谢谢大家!
【问题讨论】:
-
检查这个答案:要获取屏幕截图,请使用:stackoverflow.com/a/53956500/10842413
-
我不认为你有问题,我需要来自 uiscrollview 的屏幕截图。
标签: swift uiscrollview screenshot