开发者

How to delay flipping a UIView containing an updating UIButton having a gradient background

开发者 https://www.devze.com 2023-03-26 01:04 出处:网络
I have two views that flip based on a button press within the view. T开发者_运维百科he view has two CAGradientLayers as sublayers. If I flip immediately after the action method fires, the button is in

I have two views that flip based on a button press within the view. T开发者_运维百科he view has two CAGradientLayers as sublayers. If I flip immediately after the action method fires, the button is in the process of changing the opacity of the gradients and so you see stuttering (the UIVIew flip animation is having to accommodate the button that is itself changing.)

I can hack a solution by doing a performWithSelection:withObject:afterDelay:0.1f, but it feels like such a hack. I tried setting the layer's needsDisplay property and testing for when it was clears, but probably this is insufficient to tell me the screen itself has redrawn.

Dav


In the end this has no solution. I have since found that when animating a view there are severe performance implication if you also try to animate the super views. You can see this in many iOS apps where the app animates an image in a scrolling list - the scrolling stumbles.

So what I learned is either animate something, or it's view, but not both!

0

精彩评论

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

关注公众号