view 动画

周志文
2023-12-01

    [self showInView:[self view]];



- (void) showInView:(UIView*)view

{

    

    //  1. Hide the modal

//    [[self modalView] setAlpha:0];

    

    //  2. Install the modal view

    [[view superview] addSubview:[self view]];

    

    _shrunkView = view;

    

    [[self view] setFrame:_shrunkView.frame];

    

    //  3. Show the buttons

    [[self containerView] setTransform:CGAffineTransformMakeTranslation(0, [[self containerView] frame].size.height)];

    

    //  4. Animate everything into place

    [UIView

     animateWithDuration:0.3

     animations:^{

         

         

         //  Shrink the main view by 15 percent

         CGAffineTransform t = CGAffineTransformScale(CGAffineTransformIdentity, .9, .9);

         [view setTransform:t];

         

         //  Fade in the modal

//         [[self modalView] setAlpha:1.0];

         

         //  Slide the buttons into place

         [[self containerView] setTransform:CGAffineTransformIdentity];

         

     }

     completion:^(BOOL finished) {

         _visible = YES;

     }];

    

}


- (void) hideInView

{

    

    //      2. Animate everything out of place

    [UIView

     animateWithDuration:0.3

     animations:^{

         

         //  Shrink the main view by 15 percent

         CGAffineTransform t = CGAffineTransformIdentity;

         [_shrunkView setTransform:t];

         

         //  Fade in the modal

//         [[self modalView] setAlpha:0.0];

         

         //  Slide the buttons into place

         

         t = CGAffineTransformTranslate(t, 0, [[self containerView] frame].size.height);

         [[self containerView] setTransform:t];

         

     }

     

     completion:^(BOOL finished) {

//         [[self modalView] removeFromSuperview];

         _visible = NO;

         _shrunkView=nil;

//         if ([self.delegate respondsToSelector:@selector(hideFinished)]) {

//             [self.delegate hideFinished];

//         }

     }];

    

}

 类似资料: