This is related to a lot of little bugs that might stereotypically be considered minor by one person, but major by another.
What I've noticed more and more, is that when using all flavors a UIView animateWithDuration:
, it actually modifies things unnecessarily, such multiple properties of my views', to do a simple hide/reveal style animations, etc..
Things seem to be finicky in scenarios like a UINavigationBar not animating into position properly for a certain rotation transition, or a header view not animating along with the status bar when it's frame updates, when when a view's sublayers would implicitly animate differently when their parent view's properties change...
So many of these I have been revisiting, and converting to CAAnimations because they seem to be easier to manage, in they do not actually modify my views' target property values.
A simple example being, using [view setHidden:]
, and then animating it or out of view, but the view is actually already visible or hidden while the animation runs.
Another one being, the need to transform/rotate/scale a UINavigationController's view, and using a CAAnimation to do it, because the UINavigationBar does not move to it's correct position if I modify the UINavigationController's view, and any of it's parent view's transform property values.
So in conclusion to this question, I have been back and forth, and have been finding places where one is more appropriate than the other for my circumstances, but mainly, I want to hear what others think about these scenarios, and if there's is some insight into what Apple has provided that I can feel better about my approaches.
Thanks in advance.