iOS分享
1、封装一个方法、传入外部控制的参数
- (void)presentSnsIconSheetViewWithShareText:(NSString *)shareText comicID:(NSString *)comicId objType:(NSString *)objType title:(NSString * )title cachedImage:(UIImage * )cachedImage shareUrl:(NSString * )shareUrlString currentVc:(id)viewcontroller successBlock:(void(^)())successBlock
{
self.objuid = comicId;
self.objType = objType;
[UMSocialShareUIConfig shareInstance].sharePageGroupViewConfig.sharePageGroupViewPostionType = UMSocialSharePageGroupViewPositionType_Bottom;
[UMSocialShareUIConfig shareInstance].shareTitleViewConfig.isShow = NO;
[UMSocialShareUIConfig shareInstance].shareCancelControlConfig.isShow = NO;
[UMSocialShareUIConfig shareInstance].sharePageScrollViewConfig.shareScrollViewPageItemStyleType = UMSocialPlatformItemViewBackgroudType_None;
#ifdef UM_Swift
[UMSocialSwiftInterface showShareMenuViewInWindowWithPlatformSelectionBlockWithSelectionBlock:^(UMSocialPlatformType platformType, NSDictionary* userInfo) {
#else
[UMSocialUIManager setPreDefinePlatforms:@[@(UMSocialPlatformType_Sina),@(UMSocialPlatformType_QQ),@(UMSocialPlatformType_Qzone),@(UMSocialPlatformType_WechatSession),@(UMSocialPlatformType_WechatTimeLine)]];
[UMSocialUIManager showShareMenuViewInWindowWithPlatformSelectionBlock:^(UMSocialPlatformType platformType, NSDictionary *userInfo) {
#endif
//在回调里面获得点击的
if (platformType == UMSocialPlatformType_Sina || platformType == UMSocialPlatformType_WechatSession ||
platformType == UMSocialPlatformType_WechatTimeLine ||
platformType == UMSocialPlatformType_QQ || platformType == UMSocialPlatformType_Qzone) {//qq,qq空间,微信,微信朋友圈,微博
dispatch_async(dispatch_get_main_queue(), ^{
//创建分享消息对象
UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];
NSMutableString *urlString = [NSMutableString stringWithString:shareUrlString];
if ([urlString containsString:@"http://"]) {
[urlString insertString:@"s" atIndex:4];
}
//创建网页内容对象
UMShareWebpageObject *shareObject = [UMShareWebpageObject shareObjectWithTitle:title descr:shareText thumImage:cachedImage];
//设置网页地址
shareObject.webpageUrl = urlString;
//分享消息对象设置分享内容对象
messageObject.shareObject = shareObject;
//调用分享接口
[[UMSocialManager defaultManager] shareToPlatform:platformType messageObject:messageObject currentViewController:viewcontroller completion:^(id data, NSError *error) {
if (!error) {
successBlock();
//统计分享成功
UserActionResquest * resquest = [[UserActionResquest alloc]initWithObjType:objType optType:@"SHARE" objUid:comicId objPuid:nil];
[resquest sendRequestSuccessBlock:^(id baseModel){} requestFailBlock:^(KSError *error) {}finalBlock:^{}];
}
}];
});
}
}];
}
2、调用上面的分享方法
[[UMengShare uMengshareManager]presentSnsIconSheetViewWithShareText:shareStr comicID:self.detailModel.cartoondetailspuductsmodel.comicUid objType:@"comic" title:@"天唐动漫,超好看!" cachedImage:image shareUrl:url currentVc:self successBlock:^{
[weakSelf.view makeToast:@"分享成功"];
}];
返回首页
let rootVc = ZMShopMainViewController()
rootVc.selectedIndex = 0
kWindow?.rootViewController = rootVc
返回具体的控制器
let scanVc = navigationController?.childViewControllers[1]
self.navigationController?.popToViewController(scanVc!, animated: true)
压缩图片
if ([format isEqualToString:@"png"]) {
data = UIImagePNGRepresentation(image);
} else if ([format isEqualToString:@"jpeg"]) {
CGFloat quality = [RCTConvert CGFloat:options[@"quality"] ?: @1];
data = UIImageJPEGRepresentation(image, quality);
}
#