保存条形图视图时不显示条形图
Bars not showing when saving Bar Chart view
我的图表在我的应用程序中显示正常,但是当我将 chartView
保存到相机胶卷或用于另一个 UIViewController
时, 条形图不显示.
在我的应用程序中很好:
将 chartView
保存到相机胶卷或在另一个 UIViewController
中使用时不显示栏:
我已经尝试了几种方法来做到这一点 - 特别是为了将 chartView
保存到相机胶卷 - 例如:
1)
let image1 = chartView.getChartImage(transparent: false)
UIImageWriteToSavedPhotosAlbum(image1!, nil, nil, nil)
2)
let image2 = captureScreen()
UIImageWriteToSavedPhotosAlbum(image2!, nil, nil, nil)
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)
但对我来说没有任何用处。任何想法为什么?谢谢!
我在使用 getChartImage 捕获图像时遇到了同样的问题。所以我做了自己的捕获图像的功能。
基本上我做了一个UIView class 继承了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()
希望对您有所帮助!!!
我的图表在我的应用程序中显示正常,但是当我将 chartView
保存到相机胶卷或用于另一个 UIViewController
时, 条形图不显示.
在我的应用程序中很好:
将 chartView
保存到相机胶卷或在另一个 UIViewController
中使用时不显示栏:
我已经尝试了几种方法来做到这一点 - 特别是为了将 chartView
保存到相机胶卷 - 例如:
1)
let image1 = chartView.getChartImage(transparent: false)
UIImageWriteToSavedPhotosAlbum(image1!, nil, nil, nil)
2)
let image2 = captureScreen()
UIImageWriteToSavedPhotosAlbum(image2!, nil, nil, nil)
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)
但对我来说没有任何用处。任何想法为什么?谢谢!
我在使用 getChartImage 捕获图像时遇到了同样的问题。所以我做了自己的捕获图像的功能。
基本上我做了一个UIView class 继承了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()
希望对您有所帮助!!!