简体   繁体   中英

How To Animate UIView Frame with ViewWillLayoutSubview

I have created two UIViews Programmatically and set its frame in ViewWillLayoutSubview function, Now I want to create a swapping animation so that each view swap each others position with animation on a click. For getting this animation I have to interchange its frame inside an animation but at the same time ViewWillLayoutSubview get called which sets frame to initial position.

How can I get my UIViews to be swapped with animation using ViewWillLayoutSubview?

I am not using any type of constraint or xib or storyboard. Whole screen is designed programatically.

Thanks in advance.

-(void)viewWillLayoutSubviews
{
    if(Once)
   {
       // create 2 views here

      once = NO;
   }

}

put this code in button click

CGRect view2Frame = self.view2.frame;

[UIView animateWithDuration:duration delay:0 options:UIViewAnimationOptionCurveLinear  animations:^{
    //code with animation


      self.view2.frame = self.view1.frame;

      self.view1.frame = view2Frame;


} completion:^(BOOL finished) {
    //code for completion
}];

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM