iOS Development Core Animation V: Transition Animation
Last Update:2016-09-04
Source: Internet
Author: User
<span id="Label3"></p><p><p></p></p><p><p></p></p><p><p></p></p><p><p></p></p><p><p></p></p><pre><span style="color: #0000ff;"><span style="color: #0000ff;">#import</span></span> <span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">ViewController.h</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">@interface</span></span><span style="color: #000000;"><span style="color: #000000;">viewcontroller () @property (weak, nonatomic) iboutlet uiimageview</span></span>*<span style="color: #000000;"><span style="color: #000000;">imagev;</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">@end</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">@implementation</span></span><span style="color: #000000;"><span style="color: #000000;">Viewcontroller</span></span>- (<span style="color: #0000ff;"><span style="color: #0000ff;">void</span></span><span style="color: #000000;"><span style="color: #000000;">) Viewdidload {[super viewdidload]; }</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Static</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">int</span></span>_i =<span style="color: #800080;"><span style="color: #800080;">1</span></span><span style="color: #000000;"><span style="color: #000000;">;</span></span>-(<span style="color: #0000ff;"><span style="color: #0000ff;">void</span></span>) touchesbegan: (nsset<uitouch *> *) touches withevent: (uievent *)<span style="color: #0000ff;"><span style="color: #0000ff;">Event</span></span><span style="color: #000000;"><span style="color: #000000;"> { </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">the Transition code and the transition animation must be in the same method. </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">Transition Code</span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">_i++;</span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">if (_i = = 4) {</span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">_i = 1;</span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;"> }</span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span> <span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">nsstring *imagename = [nsstring stringwithformat:@ "%d", _i];</span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">self.imageV.image = [UIImage imagenamed:imagename];</span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span> <span style="color: #008000;"><span style="color: #008000;">//</span></span> <span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">Add Transition Animations</span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">catransition *anim = [catransition animation];</span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">anim.duration = 1;</span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span> <span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">set the type of transition</span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">Anim.type = @ "pagecurl";</span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span> <span style="color: #008000;"><span style="color: #008000;">//</span></span> <span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">set the starting position of the animation</span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">anim.startprogress = 0.3;</span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span> <span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">set the end position of the animation</span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">anim.endprogress = 0.5;</span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span> <span style="color: #008000;"><span style="color: #008000;">//</span></span> <span style="color: #008000;"><span style="color: #008000;">//</span></span> <span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">[self.imageV.layer Addanimation:anim forkey:nil]; </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span> <span style="color: #000000;"><span style="color: #000000;">[UIView TransitionWithView:self.imageV duration:</span></span><span style="color: #800080;"><span style="color: #800080;">0.5</span></span>Options:uiviewanimationoptiontransitioncurlup animations:^<span style="color: #000000;"><span style="color: #000000;">{ </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">Transition Code</span></span>_i++<span style="color: #000000;"><span style="color: #000000;">; </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span>(_i = =<span style="color: #800080;"><span style="color: #800080;">4</span></span><span style="color: #000000;"><span style="color: #000000;">) {_i</span></span>=<span style="color: #800080;"><span style="color: #800080;">1</span></span><span style="color: #000000;"><span style="color: #000000;">; } nsstring</span></span>*imagename = [nsstring stringwithformat:<span style="color: #800000;"><span style="color: #800000;">@"</span></span><span style="color: #800000;"><span style="color: #800000;">%d</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">, _i]; Self.imageV.image</span></span>=<span style="color: #000000;"><span style="color: #000000;">[UIImage imagenamed:imagename]; } completion:</span></span>^<span style="color: #000000;"><span style="color: #000000;">(BOOL finished) {}]; }</span></span>- (<span style="color: #0000ff;"><span style="color: #0000ff;">void</span></span><span style="color: #000000;"><span style="color: #000000;">) didreceivememorywarning {[super didreceivememorywarning]; </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">Dispose of any resources the can be Recreated.</span></span><span style="color: #000000;"><span style="color: #000000;">}</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">@end</span></span></pre><p><p></p></p><p><p><span class="Apple-tab-span">1. What is transition animation?</span></p></p><p><p><span class="Apple-tab-span">is to switch from one scene to another, like a navigation controller's push effect, which is a transition.</span></p></p><p><p></p></p><p><p><span class="Apple-tab-span">2. How to create a transition animation</span></p></p><p><p><span class="Apple-tab-span">Create a transition animation</span></p></p><p><p>Catransition *anim = [catransition animation];</p></p><p><p>Set Transition type</p></p><p><p>Anim.type = @ "cube";</p></p><p><p>Anim.duration = 1;</p></p><p><p>Set the direction of a transition</p></p><p><p>Anim.subtype = kcatransitionfromleft;</p></p><p><p><span class="Apple-tab-span">Set the start position of the animation</span></p></p><p><p>Anim.startprogress = 0.5;</p></p><p><p><span class="Apple-tab-span">Set the end position of the animation</span></p></p><p><p>Anim.endprogress = 0.8;</p></p><p><p>Add an Animation.</p></p><p><p>[_imagev.layer Addanimation:anim forkey:nil];</p></p><p><p></p></p><p><p></p></p><p><p><span class="Apple-tab-span">The code to perform the animation is called the transition code.</span></p></p><p><p><span class="Apple-tab-span">Transition animations are animated with the transition code written in the same method.</span></p></p><p><p><span class="Apple-tab-span"></span></p></p><p><p><span class="Apple-tab-span">3.UIView to animate transitions</span></p></p><p><p><span class="Apple-tab-span"></span></p></p><p><p><span class="Apple-tab-span">[UIView TransitionWithView:self.imageV Duration:1</span></p></p><p><p><span class="Apple-tab-span">Options:uiviewanimationoptiontransitionflipfromright</span></p></p><p><p><span class="Apple-tab-span">animations:^{</span></p></p><p><p><span class="Apple-tab-span">Transition Code</span></p></p><p><p>} completion:^ (BOOL Finished) {</p></p><p><p><span class="Apple-tab-span">called when the animation finishes Executing.</span></p></p><p><p><span class="Apple-tab-span"> }];</span></p></p><p><p><span class="Apple-tab-span"></span></p></p><p><p><span class="Apple-tab-span">There are fewer types of transitions using UIVIEW.</span></p></p><p><p>iOS Development Core Animation V: Transition Animation</p></p></span>