Getting started creating custom view transitions

╄→尐↘猪︶ㄣ 提交于 2019-12-09 04:46:39

问题


I'm looking for tutorials on creating custom view transitions.

In particular, transitions that involve elements other than just the UIViews being affected, such as playing an animation over the transition as it is happening or modifying a screenshot of the UIView being transitioned out.

I don't mean implementing the basic set of transitions (slide, fade, etc) for which there's plenty of examples on Apple's site. I'm talking about adding video/sound/additional animation while wrapping it all in a reusable transition.

I'm vaguely familiar with some of the underlying toolkits (core-animation and quartz) but I'm looking for a no-prior-experience tutorial on the subject.


回答1:


I have just put together a transition class to implement your own animation in OpenGL ES.

Feel free to read about it here




回答2:


CoreAnimation animations work by recording differences in a very specific subset of UIView properties. They do not respond to any user-defined properties, and simply don't do more advanced transitions than you've already seen in the demos. You could take a screenshot of your current view, save it in memory as a texture, hide the old view and simultaneously show an OpenGL view. Then using the screenshot texture and various mesh animations, you could render your custom transition (including alpha blending around the crumpled/folded edges), then dispose of the OpenGL view to fully reveal the target view. Seems like a fun project, and you'd be in rare company to accomplish it.




回答3:


Here is a quick guide to using the standard UIView transitions. http://chris-software.com/index.php/dev-center/view-transitions/

If you want to fade into a view use something like this. This works with any type of element with an alpha property, such as UIImageViews, etc. someView.alpha = 0; [viewController.view addSubview:someView];

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:.5];
[UIView setAnimationDelegate:self];     
someView.alpha = 1;
[UIView commitAnimations];


来源:https://stackoverflow.com/questions/1060551/getting-started-creating-custom-view-transitions

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!