修复Label坐标显示异常的问题

This commit is contained in:
monitor1394
2019-11-12 09:49:25 +08:00
parent 668aa4ef0f
commit bd75f43b2a
3 changed files with 40558 additions and 1007 deletions

View File

@@ -54,12 +54,15 @@ namespace XCharts
[NonSerialized] private Legend m_CheckLegend = Legend.defaultLegend;
[NonSerialized] private float m_CheckWidth = 0;
[NonSerialized] private float m_CheckHeight = 0;
[NonSerialized] private Vector2 m_CheckMinAnchor;
[NonSerialized] private Vector2 m_CheckMaxAnchor;
[NonSerialized] private float m_CheckSerieCount = 0;
[NonSerialized] private List<string> m_CheckSerieName = new List<string>();
[NonSerialized] private bool m_RefreshChart = false;
[NonSerialized] private bool m_RefreshLabel = false;
[NonSerialized] private bool m_ReinitLabel = false;
[NonSerialized] private bool m_CheckAnimation = false;
[NonSerialized] protected bool m_RefreshChart = false;
[NonSerialized] protected bool m_RefreshLabel = false;
[NonSerialized] protected bool m_ReinitLabel = false;
[NonSerialized] protected bool m_CheckAnimation = false;
[NonSerialized] protected List<string> m_LegendRealShowName = new List<string>();
protected Vector2 chartAnchorMax { get { return rectTransform.anchorMax; } }
@@ -287,8 +290,8 @@ namespace XCharts
private void InitSerieLabel()
{
var labelObject = ChartHelper.AddObject(s_SerieLabelObjectName, transform, chartAnchorMin,
chartAnchorMax, chartPivot, new Vector2(chartWidth, chartHeight));
var labelObject = ChartHelper.AddObject(s_SerieLabelObjectName, transform, Vector2.zero,
Vector2.zero, Vector2.zero, new Vector2(chartWidth, chartHeight));
SerieLabelPool.ReleaseAll(labelObject.transform);
int count = 0;
for (int i = 0; i < m_Series.Count; i++)
@@ -358,6 +361,13 @@ namespace XCharts
{
SetSize(sizeDelta.x, sizeDelta.y);
}
if (m_CheckMinAnchor != rectTransform.anchorMin || m_CheckMaxAnchor != rectTransform.anchorMax)
{
m_CheckMaxAnchor = rectTransform.anchorMax;
m_CheckMinAnchor = rectTransform.anchorMin;
m_ReinitLabel = true;
}
}
private void CheckTheme()
@@ -523,6 +533,7 @@ namespace XCharts
InitTitle();
InitLegend();
InitTooltip();
InitSerieLabel();
}
protected virtual void OnThemeChanged()

View File

@@ -1348,6 +1348,7 @@ namespace XCharts
}
break;
}
m_RefreshLabel = true;
serieData.labelPosition = pos;
if (serie.label.show) DrawLabelBackground(vh, serie, serieData);
}
@@ -1372,6 +1373,7 @@ namespace XCharts
if (j >= serie.dataPoints.Count) break;
var serieData = serie.data[j];
var pos = serie.dataPoints[j];
serieData.SetGameObjectPosition(serieData.labelPosition);
serieData.UpdateIcon();
if (serie.show && serie.label.show && serieData.canShowLabel)

File diff suppressed because it is too large Load Diff