iOS微信分享后关闭发送成功提示并返回应用

iOS 分享到微信之后返回应用关闭发送成功的提示,并自定义提示,具体内容如下

1.关闭发送成功的提示 

只要在分享的时候调用一下代码即可:

代码如下:

[UMSocialConfig setFinishToastIsHidden:YES  position:UMSocialiToastPositionCenter];

2.自定义提示 

//如果点击返回app会调用这个方法
 - (void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response {
   //返回200说明分享成功
  if (response.responseCode == 200) {
      //分享成功之后弹出这个提示语 

      //自己添加遮罩层,并添加点击手势,方便回收提示
      self.mask2 = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreen_Width, kScreen_Height)];
      self.mask2.backgroundColor = [[UIColor colorWithHexColorString:@"000000"] colorWithAlphaComponent:0.5];
      UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tap:)];
      [self.mask2 addGestureRecognizer:tap];
      [self.view.window addSubview:self.mask2];
     //遮罩层上放提示框
      self.showView = [[UIView alloc] init];
      self.showView.frame = CGRectMake(32, kScreen_Height/2.0-((kScreen_Width-64)/254.0*150.0+44)/2.0-20, kScreen_Width-64, 0);
      self.showView.backgroundColor = [UIColor whiteColor];
      self.showView.layer.cornerRadius = 20;
      [self.mask2 addSubview:_showView];

      UILabel *titleLab = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, _showView.width, 31)];
      titleLab.text = @"分享成功";
      titleLab.textAlignment = NSTextAlignmentCenter;
      titleLab.backgroundColor = [UIColor redColor];
      titleLab.textColor = [UIColor whiteColor];
      titleLab.font = [UIFont systemFontOfSize:15];
     //使用贝塞尔曲线,绘制一个上面两个是圆角的矩形
      UIBezierPath *titlePath = [UIBezierPath bezierPathWithRoundedRect:titleLab.bounds byRoundingCorners:UIRectCornerTopLeft|UIRectCornerTopRight cornerRadii:CGSizeMake(20, 20)];
      CAShapeLayer *titleLayer = [CAShapeLayer layer];
      titleLayer.frame = titleLab.bounds;
      titleLayer.path = titlePath.CGPath;
      titleLab.layer.mask = titleLayer;
      [_showView addSubview:titleLab]; 

      UILabel *lab = [[UILabel alloc] initWithFrame:CGRectMake(16, 31+16, _showView.width-32, 15)];
      lab.textAlignment = NSTextAlignmentLeft;
       lab.text = @"大家都在看";
      lab.textColor = [UIColor colorWithHexColorString:@"000000"];
      lab.font = [UIFont systemFontOfSize:15];
      [_showView addSubview:lab];

      NSMutableArray *arr = [[NSMutableArray alloc] initWithObjects:@"",@"" nil];
      int y = 31+16+15+16;
      for (int i = 0; i<arr.count; i++) {

        UIButton *button1 = [UIButton buttonWithType:UIButtonTypeCustom];
        CGSize size = [self getStringSize:arr[i] andFont:13 andWidth:self.showView.width-32];
        button1.tag = 600+i;
        button1.frame = CGRectMake(16, y, _showView.width-32, size.height);
        [button1 setTitle:arr[i] forState:UIControlStateNormal];
        button1.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
        [button1 setTitleColor:[UIColor colorWithHexColorString:@"0096ff"] forState:UIControlStateNormal];
        button1.titleLabel.font = [UIFont systemFontOfSize:13];
        [button1 addTarget:self action:@selector(button1Click:) forControlEvents:UIControlEventTouchUpInside];
        button1.titleLabel.numberOfLines = 0;
        [_showView addSubview:button1];
        y+=size.height+16;
         if (i+1!=arr.count) {
          UIView *line = [[UIView alloc] initWithFrame:CGRectMake(16, y, self.showView.width-32, 0.5)];
          line.backgroundColor = [UIColor colorWithHexColorString:@"f0f0f0"];
          [_showView addSubview:line];
          y+=0.5+16;

        }

      }

      self.showView.frame = CGRectMake(32, kScreen_Height/2.0-((kScreen_Width-64)/254.0*150.0+44)/2.0-20, kScreen_Width-64, y+16);
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    }];
  }else{
    [MBProgressHUD showError:@"分享失败"];
  }

}

//获取字符串的长度
-(CGSize)getStringSize:(NSString*)needString andFont:(CGFloat)font andWidth:(NSInteger)width

{
  CGSize size = CGSizeZero;
  size = [needString boundingRectWithSize:CGSizeMake(width, CGFLOAT_MAX) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:font]} context:nil].size;
  return size;
}
//若点击在某个区域之内不触发,否则触发
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
  if ([touch.view isDescendantOfView:self.showView]) {
    return NO;
  }else {
    return YES
    ;
  }
}
- (void)tap:(UITapGestureRecognizer *)sender {

  [self.mask2 removeFromSuperview];

}
- (void)button1Click:(UIButton *)sender {
  [self.mask2 removeFromSuperview];
  switch (sender.tag) {
    case 600:
    {
     }
       break;
     case 601:

    {
    }
      break;
    default:
      break;
  }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • iOS 微信分享功能简单实现

    PS:此文以简单实现功能为主,不足之前还望指点,大神勿喷. 在此之前如何申请微信认证的Key就不说了,公司一般会有人搞(自己申请一个也非常的简单) 1.首先下载微信SDK:微信SDK下载地址(更多关于微信SDK信息文档请访问官方网站:微信开放平台) 2.导入微信SDK 将下载下来的SDKExport文件夹导入到工程,其中包含3个核心文件libWeChatSDK.a WXApi.h WXApiObject.h(强烈建议大家看看read-me文件) 3.在工程Build Phases -> Link

  • 微信支付终于成功了(安卓、iOS)在此分享

    经过了几天的痛苦煎熬,终于把微信支付调通,整个调试过程很痛苦,痛苦的主要来源是微信支付的调试真的是,以前调试公众号支付也是一波三折啊.好吧,开始!首先说明,我这里主要没有使用getToken,getOrder方法,我的所有参数全部是在后端生成传递给前端的,看了一下前面朋友分享的源代码,还用到了jquery,md5,sha对于新手来说简直是天文啊,而且jquery在apicloud中效率不好,所以放弃了研究那个代码,另外官方也说了,最好签名等参数全部服务器端生成,微信也是这么说的. 注意:微信本身

  • iOS仿微信图片分享界面实现代码

    分享功能目前几乎已成为很多app的标配了,其中微信,微博等app的图片分享界面设计的很棒,不仅能够展示缩略图,还可以预览删除.最近我在做一款社交分享app,其中就要实现图文分享功能,于是试着自行实现仿微信分享风格的功能. 核心思想: 主要是使用UICollectionView来动态加载分享图片内容,配合预览页面,实现动态添加和预览删除图片效果. 实现效果: 核心代码如下: 分享界面: // // PostTableViewController.h // NineShare // // Creat

  • iOS高仿微信表情输入功能代码分享

    最近项目需求,要实现一个类似微信的的表情输入,于是把微信的表情扒拉出来,实现了一把.可以从这里下载源码.看起来表情输入没有多少东西,不外乎就是用NSTextAttachment来实现图文混排,结果在实现的过程中遇到了很多小问题,接下来会一一介绍遇到过的坑.先上一张效果图: 一.实现表情选择View(WKExpressionView) 具体的实现就不细说了,主要功能就是点击表情时,将对应表情的图片名称通知给delegate. 二.实现表情textView(WKExpressionTextView)

  • iOS微信分享后关闭发送成功提示并返回应用

    iOS 分享到微信之后返回应用关闭发送成功的提示,并自定义提示,具体内容如下 1.关闭发送成功的提示  只要在分享的时候调用一下代码即可: 复制代码 代码如下: [UMSocialConfig setFinishToastIsHidden:YES  position:UMSocialiToastPositionCenter]; 2.自定义提示  //如果点击返回app会调用这个方法 - (void)didFinishGetUMSocialDataInViewController:(UMSocia

  • vue实现微信分享朋友圈,发送朋友的示例讲解

    首先下载微信jssdk引入项目中,这里我就不说怎么去安装了,如果不会的可以看一下npm教程和es6的教程. 第一步,引入微信jssdk,此处我是通过下载微信jssdk,然后用webpack引入进项目的. 第二步,获取详情数据,渲染页面. 第三步,获取详情数据成功后再获取微信签名,token等配置信息. 第四步,通过api配置所想要的功能 代码: <template> <div class="details"> <player :videoUrl="

  • Vue项目全局配置微信分享思路详解

    这个项目为移动端项目,主要用于接入公众号服务.项目采用两种登录方式,微信授权登录以及账号密码登录.对于移动端项目而言,为了便于项目扩展以及提供开发热更新速度,项目分为不同的模块,每个模块是一个单页面应用.页面分为两种,一种是需要用户登录之后才能浏览,另一种是用户无需登录即可浏览.无论哪一种,均配置微信分享. 使用的技术 1.使用vue作为框架 2.使用vux作为UI组件库 全局配置微信分享思路 1.区分一般和特殊,一般情况,全局配置默认分享文案:特殊情况分两种,一种是分享内容不需要异步获取,则在

  • vue 微信分享回调iOS和安卓回调出现错误的解决

    产品需求:在微信内分享需要手动配置的分享地址.分享图片与内容描述,引导用户分享,并在微信分享成功回调内进行相应的操作. 首先需要在项目中引入微信jsSDk包,然后通过接口获取后台签名. 封装函数获取微信分享必填参数 其中的jsApiList中填的是需要使用的微信分享js接口的列表,参数URL默认是location.href,即分享当前页面的URL. 在需要分享的页面引入封装的函数 然后通过wxShare方法将URL和配置的参数传入,link参数是分享出去的链接,必须与当前页面的对应js安全域名一

  • vue单应用在ios系统中实现微信分享功能操作

    表示是第一次使用vue做单应用显目,也是在逐渐的摸索中~更是各种踩坑,各种填坑,打算写博客么?是因为不想写笔记了,嗯嗯 就是这么简单 进入正题. 刚开始做微信分享的这个功能的时候,脑补了官方文档微信JS-SDK说明文档 基础的知识不多说了,反正多看文档总是没错的~在安卓系统上面分享是没出错的,但是在ios上面问题就来了,表示无限吐槽ios,但是吐槽归吐槽,问题总是该解决的-在网上百度了很多vue单应用在ios系统中实现微信分享失败的原因以及解决方案 原因 单页面应用通过什么入口进去的 url保持

  • vue微信分享到朋友圈 vue微信发送给好友

    本文为大家分享了vue微信分享至朋友圈&&分享至朋友代码的封装,供大家参考,具体内容如下 1.新建share.js文件 import {shareSDK} from "../api/common";//分享api import wx from 'weixin-js-sdk' export const shareTitle = '测试'; export const shareUrl = '测试连接'; export const shareImg = '测试图片'; exp

  • layer实现登录弹框,登录成功后关闭弹框并调用父窗口的例子

    layer是一款近年来备受青睐的web弹层组件,官网地址是:http://layer.layui.com/ 可以从官网上下载最新版本. 使用layer实现登录弹框,登录成功以后关闭弹框,并调用父窗口方法. 1.界面如下: 2.login.html的界面主要代码: <div class="layer_form"> <div class="form_item"> <label>手机号码:</label> <div c

  • iOS Xcode8更新后输出log日志关闭的方法

    刚把Xcode更新到最新的8,一运行发现好多log输出,根据如下操作可以关掉这些log日志,点击项目Edit Scheme - Run - Arguments - Environment Variables里添加:Name:OS_ACTIVITY_MODE  Value:disable 如图: 以上所述是小编给大家介绍的iOS Xcode8更新后输出log日志关闭的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的.在此也非常感谢大家对我们网站的支持!

  • iOS 9.0后微信支付回调处理实例

    如果是iOS 9.0之前,处理微信回调时,首先在APPDelegate中写如下的代码: //iOS 9.0 之前的处理方法不保证正确,如有错误还望指正 - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { if ([url.host isEqualToStrin

随机推荐