修复鼠标不在区域内Tooltip还显示的问题

This commit is contained in:
monitor1394
2019-06-01 15:58:44 +08:00
parent d19679be43
commit d23a7cb239
4 changed files with 9748 additions and 11139 deletions

View File

@@ -312,7 +312,16 @@ namespace XCharts
private void CheckTooltip()
{
if (!m_Tooltip.show || !m_Tooltip.isInited) return;
if (!m_Tooltip.show || !m_Tooltip.isInited)
{
if(m_Tooltip.dataIndex != 0)
{
m_Tooltip.dataIndex = 0;
m_Tooltip.SetActive(false);
RefreshChart();
}
return;
}
m_Tooltip.SetLabelActive(m_Tooltip.crossLabel);
m_Tooltip.dataIndex = 0;
@@ -320,11 +329,16 @@ namespace XCharts
if (!RectTransformUtility.ScreenPointToLocalPointInRectangle(rectTransform,
Input.mousePosition, null, out local))
{
m_Tooltip.SetActive(false);
return;
}
if (local.x < 0 || local.x > chartWidth ||
local.y < 0 || local.y > chartHeight)
{
m_Tooltip.SetActive(false);
return;
}
m_Tooltip.pointerPos = local;
CheckTootipArea(local);
}

View File

@@ -21,7 +21,7 @@ namespace XCharts
[NonSerialized] private RectTransform m_LabelRectX;
[NonSerialized] private RectTransform m_LabelRectY;
public bool show { get { return m_Show; }set { m_Show = value; } }
public bool show { get { return m_Show; }set { m_Show = value; SetActive(value); } }
public bool crossLabel { get { return m_CrossLabel; } set { m_CrossLabel = value; } }
public int dataIndex { get; set; }
@@ -119,7 +119,7 @@ namespace XCharts
public void SetActive(bool flag)
{
if(m_GameObject)
if(m_GameObject && m_GameObject.activeInHierarchy != flag)
m_GameObject.SetActive(flag);
}