iOS对UIView对象或子类对象截屏(截取的内容以UIImage的形式存储)

     怎么样用代码写出截取屏幕内容,并让截取到的内容以UIImage的形式存储显示?从iOS7开始,UIView就提供了一个方法:drawViewHierarchyInRect:afterScreenUpdates:,它允许截取UIView或者其之类中的内容,并且以位图的形式保存到UIImage中,包括UIkit,quartz,OpenGL ES,SpriteKit等。

#pragma mark - snapshot

- (UIImage *)snapshot:(UIView *)view

{

    UIGraphicsBeginImageContextWithOptions(view.bounds.size, YES, 0);

    [view drawViewHierarchyInRect:view.bounds afterScreenUpdates:YES];

    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    

    return image;

}

怎样在代码中具体使用

假设self.view上面有一个firstImageView和一个secondImageView,我想截取firstImageView视图的内容,保存在UIImage中,然后赋值给secondImageView.image

self.secondImageView.image = [self snapshot:self.firstImageView];


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

午夜小学徒丶磊

你得鼓励是我最大的动力,谢谢

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值