gpt4 book ai didi

swift - 保存条形图 View 时不显示条形图

转载 作者:可可西里 更新时间:2023-11-01 02:03:17 25 4
gpt4 key购买 nike

我的图表在我的应用程序中显示正常,但是当我将 chartView 保存到相机胶卷或用于另一个 UIViewController 时,条不显示向上

在我的应用程序中很好:

enter image description here

chartView 保存到相机胶卷或在另一个 UIViewController 中使用时,不会显示条形图:

enter image description here

我已经尝试了几种方法来做到这一点 - 特别是将 chartView 保存到相机胶卷,例如:

1)

    let image1 = chartView.getChartImage(transparent: false)
UIImageWriteToSavedPhotosAlbum(image1!, nil, nil, nil)

enter image description here

2)

    let image2 = captureScreen()
UIImageWriteToSavedPhotosAlbum(image2!, nil, nil, nil)

enter image description here

3)

extension UIImage {
convenience init(view: UIView) {
UIGraphicsBeginImageContext(view.frame.size)
view.layer.render(in: UIGraphicsGetCurrentContext()!)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
self.init(cgImage: (image?.cgImage)!)
}
}

let image3 = UIImage(view: chartView)
UIImageWriteToSavedPhotosAlbum(image3, nil, nil, nil)

enter image description here

但对我来说没有任何用处。任何想法为什么?谢谢!

最佳答案

我在使用 getChartImage 捕获图像时遇到了同样的问题。所以我制作了自己的捕获图像的功能。

基本上我做了一个 UIView 类并继承了 LineChartView。制作了 UIView 扩展,用于拍摄我的 chartView 的快照。

在 UIView 扩展中实现这个函数:

func snapShot() -> UIImage? {
UIGraphicsBeginImageContextWithOptions(self.frame.size , false, UIScreen.main.scale)
self.layer.render(in: UIGraphicsGetCurrentContext()!)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()

return image
}

然后这样调用它

let image = chartView.snapShot()

希望这有帮助!!!

关于swift - 保存条形图 View 时不显示条形图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44893760/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com