Это должно охватить весь ваш взгляд:
#import <QuartzCore/QuartzCore.h>
UIGraphicsBeginImageContext(viewToCapture.bounds.size);
[viewToCapture.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
После захвата изображения на изображении используйте этот метод для масштабирования и затемнения изображения:
UIImageView *firstView = nil;
-(void)animateOut:(UIImage*)image {
firstView = [[UIImageView alloc] initWithFrame:CGRectMake(0,0, 320, 480)];
firstView.image = image
[window addSubview:firstView];
[window bringSubviewToFront:firstView];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionNone forView:window cache:YES];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(startupAnimationDone:finished:context:)];
firstView.alpha = 0.0;
// change this for a different scale
firstView.frame = CGRectMake(-60, -85, 440, 635);
[UIView commitAnimations];
}
- (void)startupAnimationDone:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context {
[firstView removeFromSuperview];
[firstView release];
}
Вы можете получить окно из [UIApplication sharedApplication]
или просто добавить его в качестве подпредставления представления текущего контроллера представления.