Заполнение анимации + постоянная маска в Swift? - PullRequest
0 голосов
/ 04 октября 2018

Примерно так:

enter image description here

Или перейдите по этой ссылке, если можете:

https://www.lottiefiles.com/450-play-fill-loader

Мой случай проще - у меня есть представление с маской, которая состоит из нескольких ритов и линейной заливки.Маска создается во время выполнения (поэтому я не могу использовать лотерею), но остается постоянной, заливка анимирована (заполнение справа налево).Но как его нарисовать?

Примечание: я пытался найти похожую реализацию анимации, но в большинстве случаев они просто пытаются изменить параметры маски, в то время как в моем случае маска постоянна.

1 Ответ

0 голосов
/ 04 октября 2018

Если я правильно вас понял, вы можете добавить подпредставление под маской и изменить его ширину, примерно так:

let fillingStartFrame = CGRect.init(x: 0, y: 0, width: 0, height: view.frame.height)
let fillingEndFrame = CGRect.init(x: 0, y: 0, width: view.frame.width, height: view.frame.width)
let fillingView = UIView(frame: fillingStartFrame)
view.insertSubview(fillingView, belowSubview: YOUR_MASK)
UIView.animate(withDuration: 0.3) {
    fillingView.frame = fillingEndFrame
}
...