@interface UIView (ScreenShot)
/**
截取当前屏幕
@return 返回当前屏幕的图片
*/
- (UIImage *)imageScreenShot;
@end
@implementation UIView (ScreenShot)
//截取当前屏幕
- (UIImage *)imageScreenShot {
UIGraphicsBeginImageContext(self.frame.size);
// CGContextRef context = UIGraphicsGetCurrentContext();
// [self.layer renderInContext:context]; //用这个方法截屏是没有状态栏的
[self drawViewHierarchyInRect:CGRectMake(0, 0, CGRectGetWidth(self.frame), CGRectGetHeight(self.frame)) afterScreenUpdates:YES];//这个方法截屏是有状态栏的.
UIImage *screenImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return screenImage;
///另外,如果调用该方法的view为普通控制器的view,是不会有导航栏的.
///想要有导航栏,调用该方法的view应该为导航控制器的view.或者是当前主窗口:keyWindow.
}
@end
iOS开发代码截取当前屏幕(是否有状态栏)
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。