lineChartView View 的快速刷新

标签 swift

有人可以给我一个建议吗? 我有带 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/

相关文章:

ios - 创建移动的新按钮时按钮停止移动

swift - 我必须使用协议(protocol)/委托(delegate)来让 ViewController 执行在另一个类中创建的 UIButton 的操作吗?

ios - 在继续之前等待 NSNotification

swift - 快速,是否有可能在 Collection View 单元格中添加 Collection View ?

ios - 获取图像中的像素值

swift - 如何从 NSLog() 获取 "stringWithFormat"到 Swift 中的变量?

ios - 在具有编程约束的 UIView 中将 UILabel 和 UIImage 居中

ios - 无法将类型 '[String]' 的值分配给类型 'String?' (Swift)

ios - 错误 : 'OneSignal/OneSignal.h' file not found #import <OneSignal/OneSignal. h>

swift - 如何在 Swift 中延迟 For 循环直到声音播放完毕