From 9f5040435f5e24eae13b99ac0ef8a352af2e0658 Mon Sep 17 00:00:00 2001 From: monitor1394 Date: Mon, 11 Mar 2024 08:00:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D`Tooltip`=E7=A7=BB=E5=87=BA?= =?UTF-8?q?=E5=9D=90=E6=A0=87=E7=B3=BB=E5=90=8E=E8=BF=98=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Documentation~/zh/changelog.md | 1 + Runtime/Component/Tooltip/TooltipHandler.cs | 31 ++++++++++----------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Documentation~/zh/changelog.md b/Documentation~/zh/changelog.md index 7a5d1741..6e98852e 100644 --- a/Documentation~/zh/changelog.md +++ b/Documentation~/zh/changelog.md @@ -73,6 +73,7 @@ slug: /changelog ## master * (2024.03.11) 修复`Legend`的`formatter`在设置`{d}`通配符时显示可能不匹配的问题 (#304) +* (2024.03.11) 修复`Tooltip`移出坐标系后还显示的问题 * (2024.03.08) 修复`Tooltip`的`title`从旧版本升级后可能不显示的问题 ## v3.10.1 diff --git a/Runtime/Component/Tooltip/TooltipHandler.cs b/Runtime/Component/Tooltip/TooltipHandler.cs index 6777c708..aec2878a 100644 --- a/Runtime/Component/Tooltip/TooltipHandler.cs +++ b/Runtime/Component/Tooltip/TooltipHandler.cs @@ -95,30 +95,29 @@ namespace XCharts.Runtime { showTooltip = false; if (tooltip.trigger == Tooltip.Trigger.None) return; - if (!chart.isPointerInChart || !tooltip.show) + if (chart.isPointerInChart && tooltip.show) { - if (tooltip.IsActive()) + for (int i = chart.series.Count - 1; i >= 0; i--) { - tooltip.ClearValue(); - tooltip.SetActive(false); + var serie = chart.series[i]; + if (!(serie is INeedSerieContainer)) + { + showTooltip = true; + containerSeries = null; + return; + } } - return; - } - for (int i = chart.series.Count - 1; i >= 0; i--) - { - var serie = chart.series[i]; - if (!(serie is INeedSerieContainer)) + containerSeries = ListPool.Get(); + UpdatePointerContainerAndSeriesAndTooltip(tooltip, ref containerSeries); + if (containerSeries.Count > 0) { showTooltip = true; - containerSeries = null; - return; } } - containerSeries = ListPool.Get(); - UpdatePointerContainerAndSeriesAndTooltip(tooltip, ref containerSeries); - if (containerSeries.Count > 0) + if (!showTooltip && tooltip.IsActive()) { - showTooltip = true; + tooltip.ClearValue(); + tooltip.SetActive(false); } }