objective c - How do I do a Fade/No transition between view controllers -


is possible fade in , fade out transition between view controllers in storyboard. or without transition.

if it's possible, what's code it?

if presenting modal view controller, can specify modaltransitionstyle of uimodaltransitionstylecrossdissolve. if doing segue in storyboard, select attributes inspector segue, , specify transition style there:

enter image description here

if presenting view controller programmatically, can define modal segue between view controllers in storyboard "transition" of "cross dissolve" , have source view controller perform segue:

[self performseguewithidentifier:@"presentsegue" sender:sender]; 

or, if calling presentviewcontroller:

uiviewcontroller *controller = [self.storyboard instantiateviewcontrollerwithidentifier:@"yourstoryboardid"]; controller.modaltransitionstyle = uimodaltransitionstylecrossdissolve; [self presentviewcontroller:controller animated:yes completion:nil]; 

in ios 7, apple has provided new technology provides rich , robust control highly customized transitions. more information, refer wwdc 2013 video custom transitions using view controllers.

but, instance, if want customize push , pop animations in ios 7 fade, specify delegate navigation controller

- (void)viewdidload {     [super viewdidload];      self.navigationcontroller.delegate = self; } 

you implement animationcontrollerforoperation specified animator objects pushing , popping:

- (id<uiviewcontrolleranimatedtransitioning>)navigationcontroller:(uinavigationcontroller *)navigationcontroller                                   animationcontrollerforoperation:(uinavigationcontrolleroperation)operation                                                fromviewcontroller:(uiviewcontroller*)fromvc                                                  toviewcontroller:(uiviewcontroller*)tovc {     if (operation == uinavigationcontrolleroperationpush)         return [[pushanimator alloc] init];      if (operation == uinavigationcontrolleroperationpop)         return [[popanimator alloc] init];      return nil; } 

you'd have implement custom push , pop animators, such as:

@interface pushanimator : nsobject <uiviewcontrolleranimatedtransitioning>  @end  @implementation pushanimator  - (nstimeinterval)transitionduration:(id <uiviewcontrollercontexttransitioning>)transitioncontext {     return 0.5; }  - (void)animatetransition:(id<uiviewcontrollercontexttransitioning>)transitioncontext {     uiviewcontroller* toviewcontroller   = [transitioncontext viewcontrollerforkey:uitransitioncontexttoviewcontrollerkey];      [[transitioncontext containerview] addsubview:toviewcontroller.view];      toviewcontroller.view.alpha = 0.0;      [uiview animatewithduration:[self transitionduration:transitioncontext] animations:^{         toviewcontroller.view.alpha = 1.0;     } completion:^(bool finished) {         [transitioncontext completetransition:![transitioncontext transitionwascancelled]];     }]; }  @end 

and

@interface popanimator : nsobject <uiviewcontrolleranimatedtransitioning>  @end  @implementation popanimator  - (nstimeinterval)transitionduration:(id <uiviewcontrollercontexttransitioning>)transitioncontext {     return 0.5; }  - (void)animatetransition:(id<uiviewcontrollercontexttransitioning>)transitioncontext {     uiviewcontroller* toviewcontroller   = [transitioncontext viewcontrollerforkey:uitransitioncontexttoviewcontrollerkey];     uiviewcontroller* fromviewcontroller = [transitioncontext viewcontrollerforkey:uitransitioncontextfromviewcontrollerkey];      [[transitioncontext containerview] insertsubview:toviewcontroller.view belowsubview:fromviewcontroller.view];      [uiview animatewithduration:[self transitionduration:transitioncontext] animations:^{         fromviewcontroller.view.alpha = 0.0;     } completion:^(bool finished) {         [transitioncontext completetransition:![transitioncontext transitionwascancelled]];     }]; }  @end 

there similar, different technique customizing modal transitions, (though if doing face, you'd use modaltransitionstyle discussed above unless there other subtle customization wanted employ). see aforementioned custom transitions using view controllers more information.

bottom line, custom transitions ios 7 complicated, robust way provide tremendous control on animations transitions.


Comments

Popular posts from this blog

django - How can I change user group without delete record -

java - Need to add SOAP security token -

java - EclipseLink JPA Object is not a known entity type -