2017-02-06 2 views
1

Может ли кто-нибудь дать мне совет? У меня есть приложение с быстрым 3.0 с разделенным представлением и lineChartView. Когда я загружаю detailView, моя строкаChart верна. См. Рис. 1. original correct ViewБыстрое обновление линииChartView View

Когда я перехожу к экрану детали в полноэкранный режим, моя линияChartView перемещается и не обновляется. Но я делаю это. Мой код ниже.

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, Дмитрий

ответ

0

Вы можете загрузить свой график в

func layoutSubviews() { 
    super.layoutSubviews() 
} 

Надеется, что это помощь.

Смежные вопросы