美文网首页
iOS分享页面部分内容(部分截屏)

iOS分享页面部分内容(部分截屏)

作者: 肉肉要次肉 | 来源:发表于2022-02-21 14:38 被阅读0次

    先直接上图,要实现分享一张图片,如下图

    分享出去的图片中不应带有下面4个按钮,所以需要截图截在分割线处将图片转换为NSData二进制.

    考虑到屏幕适配问题,所以将截图部分用scrollview来承载,截图通过截取scrollview视图即可。

    #pragma mark-- 按视图承载所有内容截屏

    - (void)snapshotScreenInView:(UIView *)view

    {

        CGSizesize = view.bounds.size;

        UIGraphicsBeginImageContextWithOptions(size, NO, [UIScreen mainScreen].scale);

        CGRectrect = view.frame;

        //  自iOS7开始,UIView类提供了一个方法-drawViewHierarchyInRect:afterScreenUpdates: 它允许你截取一个UIView或者其子类中的内容,并且以位图的形式(bitmap)保存到UIImage中

        [viewdrawViewHierarchyInRect:rect afterScreenUpdates:YES];

        UIImage *image = UIGraphicsGetImageFromCurrentImageContext();

        UIGraphicsEndImageContext();

        UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);

    }

    拓展:下面的方法截图后的图片会使毛玻璃效果失效,所以用以上方法即可

    //    if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]){

    //        UIGraphicsBeginImageContextWithOptions(view.bounds.size, NO, [UIScreen mainScreen].scale);

    //    } else {

    //        UIGraphicsBeginImageContext(view.bounds.size);

    //    }

    //    [view.layer renderInContext:UIGraphicsGetCurrentContext()];

    //

    //    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();

    //

    //    UIGraphicsEndImageContext();

    //

    //    UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);

    实现保存图片

    //参数1:图片对象

        //参数2:成功方法绑定的target

        //参数3:成功后调用方法

        //参数4:需要传递信息(成功后调用方法的参数)

        UIImageWriteToSavedPhotosAlbum(image,self,@selector(image:didFinishSavingWithError:contextInfo:),nil);

    实现方法:

    - (void)image:(UIImage*)imagedidFinishSavingWithError:(NSError*)errorcontextInfo:(void*)contextInfo{

        if(error) {

            [YJProgressHUDshowMessage:@"保存失败"inView:self.view];

        }else{

            [YJProgressHUDshowMessage:@"保存成功"inView:self.view];

        }

    }

    相关文章

      网友评论

          本文标题:iOS分享页面部分内容(部分截屏)

          本文链接:https://www.haomeiwen.com/subject/hccilrtx.html