修复运行时数据变化曲线和标志绘制异常的问题

This commit is contained in:
monitor1394
2019-09-23 18:47:45 +08:00
parent d75d3bd402
commit d23aaa359e
4 changed files with 12 additions and 8 deletions

View File

@@ -102,7 +102,7 @@ namespace XCharts
public void InitProgress(int data, float curr, float dest)
{
if (!m_Inited)
if (!m_Inited && !m_IsEnd)
{
m_Inited = true;
m_DestDataProgress = data;

View File

@@ -240,7 +240,7 @@ namespace XCharts
else
{
var category = tempAxis.GetData(index, m_DataZoom);
m_Tooltip.UpdateContentText(m_Tooltip.GetFormatterContent(index, m_Series,category, m_DataZoom));
m_Tooltip.UpdateContentText(m_Tooltip.GetFormatterContent(index, m_Series, category, m_DataZoom));
}
var pos = m_Tooltip.GetContentPos();
if (pos.x + m_Tooltip.width > chartWidth)
@@ -1176,7 +1176,7 @@ namespace XCharts
var value = serieData.data[1];
var content = serie.label.GetFormatterContent(serie.name, serieData.name, value, total);
serieData.SetLabelActive(true);
serieData.SetLabelText(content);
if (serieData.SetLabelText(content)) RefreshChart();
serieData.SetLabelPosition(serieData.labelPosition);
}
else

View File

@@ -94,28 +94,32 @@ namespace XCharts
}
}
public void SetLabelText(string text)
public bool SetLabelText(string text)
{
if (labelText)
{
labelText.text = text;
if (m_LabelAutoSize)
{
labelRect.sizeDelta = new Vector2(labelText.preferredWidth + m_LabelPaddingLeftRight * 2,
var newSize = new Vector2(labelText.preferredWidth + m_LabelPaddingLeftRight * 2,
labelText.preferredHeight + m_LabelPaddingTopBottom * 2);
var sizeChange = newSize.x != labelRect.sizeDelta.x || newSize.y != labelRect.sizeDelta.y;
if (sizeChange) labelRect.sizeDelta = newSize;
return sizeChange;
}
}
return false;
}
public float GetLabelWidth()
{
if (labelText) return labelText.preferredWidth + m_LabelPaddingLeftRight * 2;
if (labelRect) return labelRect.sizeDelta.x;
else return 0;
}
public float GetLabelHeight()
{
if (labelText) return labelText.preferredHeight + m_LabelPaddingTopBottom * 2;
if (labelRect) return labelRect.sizeDelta.y;
return 0;
}

View File

@@ -454,7 +454,7 @@ namespace XCharts
var value = serieData.data[1];
var total = serie.yTotal;
var content = serie.label.GetFormatterContent(serie.name, serieData.name, value, total);
serieData.SetLabelText(content);
if (serieData.SetLabelText(content)) RefreshChart();
}
serieData.SetLabelPosition(serieData.labelPosition);
}