码迷,mamicode.com
首页 > 移动开发 > 详细

iOS当前屏幕截屏

时间:2017-06-12 12:58:26      阅读:284      评论:0      收藏:0      [点我收藏+]

标签:wim   .com   指定   消失   text   cap   ica   uiwindow   uiimage   

需求描述:

有两个ViewController 我们记做 A、B ,其中B controller只是显示下半部分;

如下图效果:

技术分享

实现这种的方案很多,可以用添加View方法,  也可以用UIWindows 来实现。

但是我这边是想用presentViewController 实现,但是A present  B之后,之前的A就会消失,不会和B 覆盖显示,因此就相当了截取A试图之后在present B。

具体看看实现方案吧:

 

方法一:

这个方法获取的到图片不会失真

1 -(UIImage *)captureImageFromViewLow:(UIView *)orgView {
2     //获取指定View的图片
3     UIGraphicsBeginImageContextWithOptions(orgView.bounds.size, NO, 0.0);
4     CGContextRef context = UIGraphicsGetCurrentContext();
5     [orgView.layer renderInContext:context];
6     UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
7     UIGraphicsEndImageContext();
8     return image;
9 } 

 

方法二:

截取的图片覆盖重新展示之后,会出现失真现象

//获取全屏图片
-(UIImage *)fullScreenshots{
    
    UIWindow *screenWindow = [[UIApplicationsharedApplication] keyWindow];
    
    UIGraphicsBeginImageContext(screenWindow.frame.size);//全屏截图,包括window
    
    [screenWindow.layerrenderInContext:UIGraphicsGetCurrentContext()];
    
    UIImage *viewImage =UIGraphicsGetImageFromCurrentImageContext();
    
    UIGraphicsEndImageContext();
    return viewImage;
}

 

综合这两个方案,最终我选择了方案一

iOS当前屏幕截屏

标签:wim   .com   指定   消失   text   cap   ica   uiwindow   uiimage   

原文地址:http://www.cnblogs.com/kingbo/p/6992164.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!