Swift MacOS NSAnimationContext не соответствует его продолжительности - PullRequest
0 голосов
/ 09 апреля 2020

У меня есть очень простая анимация, которая перемещает представление по всему основному виду, как это:

NSAnimationContext.runAnimationGroup({ (_) in
    NSAnimationContext.current.duration = 50.0
    viewTOModify.frame.origin.x = -20
}) {
    print("finished")
}

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

1 Ответ

0 голосов
/ 10 апреля 2020

Вы можете использовать метод представления .animator() следующим образом:

NSAnimationContext.runAnimationGroup({ (_) in
    NSAnimationContext.current.duration = 50.0
    viewTOModify.animator().frame.origin.x = -20
}) {
    print("finished")
}

Если вы не хотите использовать .animator(), вы должны установить .allowsImplicitAnimation следующим образом:

NSAnimationContext.runAnimationGroup({ (_) in
    NSAnimationContext.current.duration = 50.0
    NSAnimationContext.current.allowsImplicitAnimation = true
    viewTOModify.frame.origin.x = -20
}) {
    print("finished")
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...