1

使用Framer Studio,我正在尝试复制iOS Messages App 的“选择文本”功能,如下所示:

在此处输入图像描述

特别是,当我按住时,我希望放大的气泡显示在任何位置。

4

1 回答 1

-1

以下是 Chris Aga 在 Framer.js Facebook 群组中发布的示例:http: //share.framerjs.com/78aqs01eogh9/

所以你想要做的是,首先检查longpress:

screen.on Events.TouchStart, (event) ->
    isHeld = true
    Utils.delay .25, () ->
        if isHeld then triggerLongHold(event)

为了标准化鼠标和触摸事件坐标,我们使用了指针模块。因此,您需要在项目中包含该模块。之后将放大镜层移动到长按发生的地方:

triggerLongHold = (event) ->
    mask.opacity = 1
    shadow.opacity = 1
    pointerValues = Pointer.screen(event, screen)
    mask.x = pointerValues.x - mask.width / 2
    mask.y = pointerValues.y - mask.height
    bgMagnified.x = -2 * pointerValues.x + 140
    bgMagnified.y = -2 * pointerValues.y + 120

如果用户移动手指/鼠标,则更新其位置:

    screen.on Events.TouchMove, (event) ->
        if isHeld
            pointerValues = Pointer.screen(event, screen)
            mask.x = pointerValues.x - mask.width / 2
            mask.y = pointerValues.y - mask.height
            bgMagnified.x = -2 * pointerValues.x + 140
            bgMagnified.y = -2 * pointerValues.y + 120

希望这会让你开始!

于 2016-03-17T10:46:16.310 回答