ionic-team / ionic-team/ionic-framework

bug: item-sliding animation jumps when using multi touch

未关闭
#29,085 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
package: core type: bug
主要语言
TypeScript
星标
52.7k
派生
13.3k
平均合并
1 天 15 小时
30 天内合并 PR
51

描述

### Prerequisites

- [X] I have read the [Contributing Guidelines](https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#creating-an-issue).
- [X] I agree to follow the [Code of Conduct](https://ionicframework.com/code-of-conduct).
- [X] I have searched for [existing issues](https://github.com/ionic-team/ionic-framework/issues) that already report this problem, without success.

### Ionic Framework Version

v7.x

### Current Behavior

When multiple fingers are on the screen and move around, the `ion-item-sliding` tries to listen to both touches. This causes glitchy behavior.

I found this out while testing certain [iOS accessibility features](https://support.apple.com/guide/iphone/zoom-in-iph3e2e367e/ios) (3-finger zoom), discovering that `ion-item-sliding` can conflict with that.

### Expected Behavior

`ion-item-sliding` should only activate if there is one finger on the screen.

This is how the iOS Mail app works - the sliding items only activates when there is one finger on the screen. This prevents conflict with other gestures.

Additionally, if the native sliding item is already activated and another finger is placed on the screen, it does not glitch.

### Steps to Reproduce

1. Place two or more fingers on any `ion-item-sliding`.
2. Try moving them around.
3. Observe glitches

### Code Reproduction URL

https://github.com/aeharding/sliding-multi

### Ionic Info

Ionic:

Ionic CLI : 7.1.1 (/Users/aeharding/.nvm/versions/node/v20.8.1/lib/node_modules/@ionic/cli)
Ionic Framework : @ionic/react 7.7.3

Capacitor:

Capacitor CLI : 5.7.0
@capacitor/android : 5.7.0
@capacitor/core : 5.7.0
@capacitor/ios : 5.7.0

Utility:

cordova-res : not installed globally
native-run : not installed globally

System:

NodeJS : v20.8.1 (/Users/aeharding/.nvm/versions/node/v20.8.1/bin/node)
npm : 10.1.0
OS : macOS Unknown

### Additional Information

This may be related to #21136.

https://github.com/ionic-team/ionic-framework/assets/2166114/0a4a54e1-2223-4191-b4fa-d1f2361b4a18

贡献指南

打开贡献指南

调研方向

Start with the ion-item-sliding component and reproduce the issue using the linked sliding-multi example with two or more fingers. Trace how touch input is handled while sliding is inactive and already active. Done means single-finger sliding remains functional, multi-touch does not cause jumps, and the reported reproduction no longer glitches.

由索引模型根据 Issue 内容生成。

评估

技术栈
typescript
领域
frontend, mobile
Issue 类型
缺陷
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
42/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。