mirror of
https://github.com/XCharts-Team/XCharts.git
synced 2026-05-28 03:58:49 +00:00
修复Pie的点击有时候不响应的问题 (#357)
This commit is contained in:
@@ -80,6 +80,7 @@ slug: /changelog
|
|||||||
|
|
||||||
## master
|
## master
|
||||||
|
|
||||||
|
* (2026.01.15) 修复`Pie`的点击有时候不响应的问题 (#357)
|
||||||
* (2026.01.08) 增加`DataZoom`的`minZoomRatio`替换旧的`minShowNum` (#350)
|
* (2026.01.08) 增加`DataZoom`的`minZoomRatio`替换旧的`minShowNum` (#350)
|
||||||
* (2025.11.05) 修复`Axis`的`indicatorLabel`无法隐藏的问题
|
* (2025.11.05) 修复`Axis`的`indicatorLabel`无法隐藏的问题
|
||||||
* (2025.11.03) 增加`Tooltip`的`Title`可通过`TitleLabelStyle`的`numericFormatter`格式化时间显示 (#353)
|
* (2025.11.03) 增加`Tooltip`的`Title`可通过`TitleLabelStyle`的`numericFormatter`格式化时间显示 (#353)
|
||||||
|
|||||||
@@ -271,6 +271,7 @@ namespace XCharts.Runtime
|
|||||||
}
|
}
|
||||||
var offset = 0f;
|
var offset = 0f;
|
||||||
var interactOffset = serie.animation.interaction.GetOffset(serie.context.outsideRadius);
|
var interactOffset = serie.animation.interaction.GetOffset(serie.context.outsideRadius);
|
||||||
|
serieData.context.insideRadius = serie.context.insideRadius;
|
||||||
if (serie.pieClickOffset && (serieData.selected || serieData.context.selected))
|
if (serie.pieClickOffset && (serieData.selected || serieData.context.selected))
|
||||||
{
|
{
|
||||||
offset += interactOffset;
|
offset += interactOffset;
|
||||||
@@ -554,10 +555,11 @@ namespace XCharts.Runtime
|
|||||||
|
|
||||||
var dist = Vector2.Distance(local, serie.context.center);
|
var dist = Vector2.Distance(local, serie.context.center);
|
||||||
var interactOffset = serie.animation.interaction.GetOffset(serie.context.outsideRadius);
|
var interactOffset = serie.animation.interaction.GetOffset(serie.context.outsideRadius);
|
||||||
var maxRadius = serie.context.outsideRadius + 2 * interactOffset;
|
var maxRadius = serie.context.outsideRadius + interactOffset;
|
||||||
if (dist < serie.context.insideRadius || dist > maxRadius)
|
if (dist < serie.context.insideRadius - interactOffset || dist > maxRadius)
|
||||||
|
{
|
||||||
return -1;
|
return -1;
|
||||||
|
}
|
||||||
var dir = local - new Vector2(serie.context.center.x, serie.context.center.y);
|
var dir = local - new Vector2(serie.context.center.x, serie.context.center.y);
|
||||||
var angle = ChartHelper.GetAngle360(Vector2.up, dir);
|
var angle = ChartHelper.GetAngle360(Vector2.up, dir);
|
||||||
for (int i = 0; i < serie.data.Count; i++)
|
for (int i = 0; i < serie.data.Count; i++)
|
||||||
@@ -568,7 +570,8 @@ namespace XCharts.Runtime
|
|||||||
var ndist = (serieData.selected || serieData.context.selected) ?
|
var ndist = (serieData.selected || serieData.context.selected) ?
|
||||||
Vector2.Distance(local, serieData.context.offsetCenter) :
|
Vector2.Distance(local, serieData.context.offsetCenter) :
|
||||||
dist;
|
dist;
|
||||||
if (ndist >= serieData.context.insideRadius && ndist <= serieData.context.outsideRadius)
|
ndist = dist;
|
||||||
|
if (ndist >= serieData.context.insideRadius - interactOffset && ndist <= serieData.context.outsideRadius)
|
||||||
{
|
{
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user