开发者

UIView animation takes over CPU time

开发者 https://www.devze.com 2023-03-01 10:42 出处:网络
i wonder how i can have continuos and repeating animations on my Views w/o freezing the rest of my app - since my current approaches lead into 100% animation, 0% user interaction possible - which is k

i wonder how i can have continuos and repeating animations on my Views w/o freezing the rest of my app - since my current approaches lead into 100% animation, 0% user interaction possible - which is kind of .. bad.

the animation in general is simple: i want to make an uilabel act like a siren, altering the alpha-property from 1 to 0 and back and so forth.

the basic animation block therefore is:

    [UIView animateWithDuration:0.4f
                          delay:0.0f
                        options:UIViewAnimationOptionRepeat | UIViewAnimationOptionAutoreverse | UIViewAnimationOptionBeginFromCurrentState
                     animations:^(void){warningMessage.alpha = 0;}
                     complet开发者_如何学运维ion:NULL];    

i tried to call it in background, in backgroundthreads, even in an async GCD block, each time i loose control of the app - but the animation works fine. (ok, apple docs say it MUST happen on main thread, but i tried..)

Now again, the question: how to have both of it? is it even possible in that way?

Thanks in advance!

P.S.: Sry if this is quite a repost, did not find a proper solution/question here!

P.P.S: yes, i know that sirens dont alter their alpha propery :P


did you try adding the UIViewAnimationOptionAllowUserInteraction to the options flag?


Well.. doing animations with uikit is for sure easy .. but I would not call it very efficient. You just animate the alpha, but there is much more happening in the background. :)

Animations already run in a different thread.. so starting it on an other thread won't help you.

As a solution I would register a CADisplayLink in your application and change the alpha of the view in it's update function ... that will be much more efficient if you run it all the time.

0

精彩评论

暂无评论...
验证码 换一张
取 消