作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想截图。在此屏幕截图中,我想要其中的文本和图像。但是,我遇到了一个问题,因为当我截取屏幕截图时,我只看到文字而看不到图像。
我认为问题在于 clearContainerView
只包含文本而不包含图像。我不能将图像放在 clearContainerView
中,因为我希望图像拉伸(stretch)整个屏幕...并且我希望文本居中在标题和标签栏之间(如上图绿色方 block 所示) .
我的代码和图片如下:
这是我的代码:
@IBOutlet weak var clearContainerView: UIView!
@IBAction func takeScreenshotTapped(_ sender: UIButton) {
let screenshot = clearContainerView.screenshot()
print(screenshot)
}
extension UIView {
func screenshot() -> UIImage {
let image = UIGraphicsImageRenderer(size: bounds.size).image { _ in
drawHierarchy(in: CGRect(origin: .zero, size: bounds.size), afterScreenUpdates: true)
}
return image
}
}
关于如何做到这一点有什么建议吗?
最佳答案
您可以在您的 Controller View 上使用以下方法来获取将成为快照 View 的 clearContainerView 部分。然后您可以使用该 View 对象并截取它的屏幕截图。
resizableSnapshotViewFromRect:afterScreenUpdates:withCapInsets:
您必须传递将成为您的 clearContainerView 框架的矩形。如果您不想要任何可拉伸(stretch)的内容,您可以传递零插入。它返回一个 View 对象,其中包含您的 imageView 部分 + 完整的 clearContainerView。然后您可以使用返回的 View 并获取其屏幕截图。
我尝试了以下内容。
我原来的看法。
截图
关于ios - 截取带有背景图片的屏幕截图 - iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55015543/
我是一名优秀的程序员,十分优秀!