[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];
// }
}];
}