ios tableView截长屏图片,第三方分享

UIImage* image = [[UIImagealloc]init];

    // 下面方法,第一个参数表示区域大小。第二个参数表示是否是非透明的。如果需要显示半透明效果,需要传NO,否则传YES。第三个参数就是屏幕密度了,调整清晰度。

    UIGraphicsBeginImageContextWithOptions(self.tableView.contentSize, YES, [UIScreen mainScreen].scale);

    CGPointsavedContentOffset =self.tableView.contentOffset;

    CGRectsavedFrame =self.tableView.frame;

    self.tableView.contentOffset = CGPointZero;

    self.tableView.frame = CGRectMake(0, 0, self.tableView.contentSize.width, self.tableView.contentSize.height);

    [self.tableView.layer renderInContext: UIGraphicsGetCurrentContext()];

    self.tableView.layer.contents = nil;//释放

    image =UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    self.tableView.contentOffset= savedContentOffset;

    self.tableView.frame= savedFrame;



    NSString*shareContent ;//分享内容

    NSString* shareitemUrl =kSaftToNSString(self.alertModel.post_content);// 分享商品链接

    NSString* title =kSaftToNSString(self.alertModel.post_title);//商品标题

    YPSocialDataModel* model = [[YPSocialDataModel alloc] init];

    //创建分享参数

    model.sceneType = YPWXScenetextpicture;//分享的是图片

    [YPSocialDataService postWithSocialDataModel:model  presentedController:self];



分享图片部分代码,记得缩略图压缩至32k以下,不然会分享不了

            SendMessageToWXReq *req = [[SendMessageToWXReq alloc] init]; 

            WXMediaMessage *message = [WXMediaMessage message];

            UIImage*thumbImage = [WXApiManager compressImage:model.image toByte:32768];

             //缩略图

            [message setThumbImage:thumbImage];

            WXImageObject *ext = [WXImageObject object];

            ext.imageData=UIImagePNGRepresentation(model.image);

            message.mediaObject= ext;

            req.bText=NO;

            req.message= message;

           [WXApi sendReq:req];

简书地址

猜你喜欢

转载自blog.csdn.net/maxiuge/article/details/80988705