You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native Reanimated中SharedValue能否设限?图片手势平移边界问题

图片全屏手势的平移范围限制问题

我正在给应用内的图片添加手势交互,目标效果和WhatsApp查看联系人头像的全屏模式一致,支持捏合缩放、平移、单击、双击操作。目前单击、双击、捏合及平移手势均已实现且效果符合预期,但遇到了一个问题:使用捏合手势时,图片会切换到捏合操作的中心位置,我希望限制平移范围,确保图片边缘不会超出屏幕边界——比如向左移动到图片边缘后,无法继续向左拖动。

我知道可以手动限制平移值,但想了解是否有方法直接为SharedValue设置范围限制。需要的话我可以提供代码示例。


编辑:
我尝试用公式 (width * scale.value - width) / 2 手动钳位偏移量,但没有生效。经过多次尝试后,得出了以下公式:

(width / (2 * scale)) * (scale - 1)

注意:该公式仅对X轴的平移钳位有效,Y轴的平移值钳位始终无法生效。

内容的提问来源于stack exchange,提问作者Irfan wani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 01:17:08