我需要制作快照或截图 - 根据需要调用当前视图,然后在模态视图中显示它。
因为如果我只是在ModalView的View控制器中写这个
MyAppViewController *viewController = [[MyAppViewController alloc] init];
self.view = viewController.view;
MyAppViewController的所有方法也被调用,但我不需要它,我只需要“保存”ModalView出现时屏幕上的所有内容,并在ModalView的视图中显示它。
我该怎么办? 提前谢谢!
答案 0 :(得分:34)
我建议这样做:
有一个方法可以从视图内容中创建一个图像。
-(UIImage*) makeImage {
UIGraphicsBeginImageContext(self.view.bounds.size);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return viewImage;
}
为你的模态视图创建一个自定义的init方法,并为你的modalView提供一个可以保存UIImage的实例变量......
- (id)initWithImage:(UIImage *)temp {
myImage = temp;
}
然后在你的modalView中,也许在viewDidLoad方法中,创建一个UIImageView并将图像设置为myImage
希望这可以实现您的目标。
答案 1 :(得分:12)
在iOS 7中,您可以使用UIView中的一种新方法来创建快照,例如:
- (UIView *)snapshotViewAfterScreenUpdates:(BOOL)afterUpdates;
返回一个UIView,然后您可以将其添加为子视图。
答案 2 :(得分:0)
UIView *viewSnapShop = [self snapshotViewAfterScreenUpdates:NO];