Framer Studio, iOS Сообщения "Выберите текст"

В Framer Studio я пытаюсь воспроизвести функцию "Выбрать текст" в приложении "Сообщения iOS ", как показано ниже:

В частности, я хочу, чтобы увеличенный пузырь отображался в любом месте, когда я нажимаю и удерживаю.

1 ответ

Вот пример, который Крис Ага опубликовал в группе 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

Надеюсь, что это поможет вам начать!

Другие вопросы по тегам