gpt4 book ai didi

lineChartView View 的快速刷新

转载 作者:行者123 更新时间:2023-11-28 08:17:59 25 4
gpt4 key购买 nike

有人可以给我一个建议吗?我有带 Split View和 lineChartView 的 swift 3.0 应用程序。当我加载 detailView 时,我的折线图是正确的。见图 1。 original correct View

当我将详细信息的屏幕移动到全屏时,我的 lineChartView 会移动但不会刷新。但我这样做。我的代码如下。

Not correct View

当我点击图形时,我的 lineChartView 被刷新并且它再次正确。

我发现屏幕在移动并尝试重新加载 lineChartView 但没有结果。

override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()
if loadedGraph {
showGraph(reload: false) //here false means reload from internet data source.
}
if UIInterfaceOrientationIsLandscape(UIApplication.shared.statusBarOrientation) {
print("Landscape")
} else {
print("NOT Landscape")
}
}
func showGraph(reload : Bool) {
lineChartView.layer.frame.size.width = graphView.layer.frame.width
var max = maxElement(graph: DataArrayNew)
if !(max > 0) {
max = 1
}
graphView.layer.borderWidth = 2
graphView.layer.borderColor = UIColor(red:85/255.0, green:85/255.0, blue:85/255.0, alpha: 1.0).cgColor
if reload {
_ = NarodMon.sharedInstance.getHistoricalData(interval: horizontalMarker, device: sensorID)
}
DataArrayNew = (NarodMon.sharedInstance.getDataArray() as NSArray) as! [Double]
TimeArrayNew = (NarodMon.sharedInstance.getTimeArray() as NSArray) as! [String]
DataArray = (NarodMon.sharedInstance.getDataArrayOrig() as NSArray) as! [Double]
lineChartView.maximumValue = CGFloat(max)
lineChartView.reloadData()
}

setNeedsDisplay() 或 reloadInputViews() 等任何操作都无济于事。

但是如果我点击图表,图表就会显示正常。

如果有任何解决此问题的想法,我将不胜感激。

Rg,德米特里

最佳答案

你可以加载你的图表

    func layoutSubviews() {
super.layoutSubviews()
}

希望这对您有所帮助。

关于lineChartView View 的快速刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42062388/

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