@property (nonatomic,strong) UIButton *but;
@property (nonatomic,strong) UIButton *but1;
@property (strong, nonatomic) UIView *subView;

//客服QQ
-(void)qqAction
{
    self.but = [UIButton buttonWithType:UIButtonTypeCustom];
    self.but.frame = self.view.bounds;
    self.but.backgroundColor = [UIColor colorWithWhite:0.019 alpha:0.400];
    [self.but addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:self.but];
    
    self.but1 = [UIButton buttonWithType:UIButtonTypeCustom];
    self.but1.frame = self.view.bounds;
    self.but1.backgroundColor = [UIColor colorWithWhite:0.019 alpha:0.400];
    [self.view addSubview:self.but1];
    
    [self.tabBarController.tabBar addSubview:self.but1];
    
    _subView = [[UIView alloc] initWithFrame:CGRectMake(20, screenHeight * 2, screenWidth - 40,200)];
    _subView.alpha = 0;
    _subView.layer.masksToBounds = YES;
    _subView.layer.cornerRadius = 3.0f;
    _subView.backgroundColor = [UIColor colorWithRed:255.0/255.0 green:255.0/255.0 blue:255.0/255.0 alpha:1.0];
    [self.but addSubview:_subView];
    [UIView animateWithDuration:0.001 animations:^{
        CGRect frame = self.subView.frame;
        frame.origin.y = screenHeight / 2-110;
        self.subView.frame = frame;
        self.subView.alpha = 1;
        
        UIButton *closeBtn = [[UIButton alloc] init];
        closeBtn.frame = CGRectMake(_subView.bounds.size.width - 30, 0, 30, 30);
        [closeBtn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
        [closeBtn setImage:[UIImage imageNamed:@"btn_关闭_灰色__none"] forState:UIControlStateNormal];
        [closeBtn addTarget:self action:@selector(closeView) forControlEvents:UIControlEventTouchUpInside];
        [_subView addSubview:closeBtn];
        
        UILabel *label1 = [[UILabel alloc] initWithFrame:CGRectMake(14, 45, _subView.bounds.size.width, 30)];
        label1.text = @"钱富宝客服QQ:2797353115";
        label1.textAlignment = NSTextAlignmentLeft;
        label1.textColor = [UIColor colorWithRed:96/256.0 green:103/256.0 blue:127/256.0 alpha:1.0f];
        label1.font = [UIFont systemFontOfSize:16];
        [_subView addSubview:label1];
        
        UILabel *label2 = [[UILabel alloc] initWithFrame:CGRectMake(14, 62, _subView.bounds.size.width - 28, 60)];
        label2.text = @"注:每周一至周五8:00到18:00正常上班,节假日休息。";
        label2.numberOfLines = 2;
        label2.textAlignment = NSTextAlignmentLeft;
        label2.textColor = [UIColor colorWithRed:96/256.0 green:103/256.0 blue:127/256.0 alpha:1.0f];
        label2.font = [UIFont systemFontOfSize:16];
        [_subView addSubview:label2];
        
        UIButton *requestionBtn = [[UIButton alloc] init];
        requestionBtn.frame = CGRectMake(14, 150, _subView.bounds.size.width - 28, 43);
        [requestionBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
        [requestionBtn setTitle:@"立即咨询" forState:UIControlStateNormal];
        [requestionBtn addTarget:self action:@selector(requestionClick) forControlEvents:UIControlEventTouchUpInside];
        [requestionBtn setBackgroundColor:[UIColor colorWithRed:65/256.0 green:109/256.0 blue:218/256.0 alpha:1.0f]];
        requestionBtn.layer.masksToBounds = YES;
        requestionBtn.layer.cornerRadius = 3.0f;
        
        [_subView addSubview:requestionBtn];
        
    } completion:^(BOOL finished) {
    }];
    
}

#pragma mark 在线客服网页跳转的实现部分
-(void)requestionClick{
    
    UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectZero];
    UILabel *qqLabel = [[UILabel alloc] init];
    qqLabel.text = @"2797353115";
    NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"mqq://im/chat?chat_type=wpa&uin=%@&version=1&src_type=web",qqLabel.text]];
    NSLog(@"----------%@-------",qqLabel.text);
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    webView.delegate = self;
    [webView loadRequest:request];
    [self.view addSubview:webView];
    
}
- (void)webView:(UIWebView *)webView didFailLoadWithError:(nullable NSError *)error
{
    UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:nil message:@"未安装QQ程序" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles: nil];
    [alertView show];
}

#pramra mark 打电话

//电话
-(void)hotLineAlertView
{
    self.but = [UIButton buttonWithType:UIButtonTypeCustom];
    self.but.frame = self.view.bounds;
    self.but.backgroundColor = [UIColor colorWithWhite:0.019 alpha:0.400];
    [self.but addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:self.but];
    
    self.but1 = [UIButton buttonWithType:UIButtonTypeCustom];
    self.but1.frame = self.view.bounds;
    self.but1.backgroundColor = [UIColor colorWithWhite:0.019 alpha:0.400];
    [self.view addSubview:self.but1];
    
    [self.tabBarController.tabBar addSubview:self.but1];
    
    _subView = [[UIView alloc] initWithFrame:CGRectMake(20, screenHeight * 2, screenWidth - 40,200)];
    _subView.alpha = 0;
    _subView.layer.masksToBounds = YES;
    _subView.layer.cornerRadius = 3.0f;
    _subView.backgroundColor = [UIColor colorWithRed:255.0/255.0 green:255.0/255.0 blue:255.0/255.0 alpha:1.0];
    [self.but addSubview:_subView];
    [UIView animateWithDuration:0.001 animations:^{
        CGRect frame = self.subView.frame;
        frame.origin.y = screenHeight / 2-110;
        self.subView.frame = frame;
        self.subView.alpha = 1;
        
        UIButton *closeBtn = [[UIButton alloc] init];
        closeBtn.frame = CGRectMake(_subView.bounds.size.width - 30, 0, 30, 30);
        [closeBtn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
        [closeBtn setImage:[UIImage imageNamed:@"btn_关闭_灰色__none"] forState:UIControlStateNormal];
        [closeBtn addTarget:self action:@selector(closeView) forControlEvents:UIControlEventTouchUpInside];
        [_subView addSubview:closeBtn];
        
        UILabel *label1 = [[UILabel alloc] initWithFrame:CGRectMake(14, 45, _subView.bounds.size.width, 30)];
        label1.text = @"钱富宝客服热线:400-607-1818";
        label1.textAlignment = NSTextAlignmentLeft;
        label1.textColor = [UIColor colorWithRed:96/256.0 green:103/256.0 blue:127/256.0 alpha:1.0f];
        label1.font = [UIFont systemFontOfSize:16];
        [_subView addSubview:label1];
        
        UILabel *label2 = [[UILabel alloc] initWithFrame:CGRectMake(14, 62, _subView.bounds.size.width - 28, 60)];
        label2.text = @"注:每周一至周五8:00到18:00正常上班,节假日休息。";
        label2.numberOfLines = 2;
        label2.textAlignment = NSTextAlignmentLeft;
        label2.textColor = [UIColor colorWithRed:96/256.0 green:103/256.0 blue:127/256.0 alpha:1.0f];
        label2.font = [UIFont systemFontOfSize:16];
        [_subView addSubview:label2];
        
        UIButton *hotLineBtn = [[UIButton alloc] init];
        hotLineBtn.frame = CGRectMake(14, 150, _subView.bounds.size.width - 28, 43);
        [hotLineBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
        [hotLineBtn setTitle:@"拨打热线" forState:UIControlStateNormal];
        [hotLineBtn addTarget:self action:@selector(hotLineClick) forControlEvents:UIControlEventTouchUpInside];
        [hotLineBtn setBackgroundColor:[UIColor colorWithRed:65/256.0 green:109/256.0 blue:218/256.0 alpha:1.0f]];
        hotLineBtn.layer.masksToBounds = YES;
        hotLineBtn.layer.cornerRadius = 3.0f;
        
        [_subView addSubview:hotLineBtn];
        
    } completion:^(BOOL finished) {
    }];
    
}

-(void)closeView
{
    [_but removeFromSuperview];
    [_but1 removeFromSuperview];
}

- (void)btnClick:(UIButton *)but
{
    [_but removeFromSuperview];
    [_but1 removeFromSuperview];
}
//播打热线
-(void)hotLineClick
{
    [_but removeFromSuperview];
    [_but1 removeFromSuperview];
    
    NSString *number = @"400-607-1818";
    NSString *num = [[NSString alloc]initWithFormat:@"telprompt://%@",number];
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:num]]; //拨号

}

iOS-调用网页聊天、拨打电话的更多相关文章

  1. ios app跳转拨打电话界面,调用拨打电话功能

    DNLogFUNC //两种方法都可以用 //这种据说是可以上appstore NSURL *phoneURL = [NSURL URLWithString:[NSString stringWithF ...

  2. iOS 调用短信、电话、邮件、浏览器等

    1.调用 自带mail[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://admin@hzl ...

  3. Android 打开URL中的网页和拨打电话、发送短信功能

    拨打电话需要的权限 <uses-permission android:name="android.permission.CALL_PHONE"/> 为了省事界面都写一起 ...

  4. 【原】iOS学习之三种拨打电话方式的比较

    拨打电话小编从网上找到三种,在这里做一些总结和比较 1.基本使用 NSString *str = [[NSMutableString alloc] initWithFormat:@"tel: ...

  5. Flutter移动电商实战 --(14)首页_拨打电话操作

    拨打电话的功能在app里也很常见,比如一般的外卖app都会有这个才做.其实Flutter本身是没给我们提供拨打电话的能力的,那我们如何来拨打电话那? 1.编写店长电话模块 这个小伙伴们一定轻车熟路了, ...

  6. uni-app拨打电话

    调起通讯页面拨打电话 https://uniapp.dcloud.io/api/system/phone?id=makephonecall 点击按钮直接拨打电话 <template> &l ...

  7. ios调用本地拨打电话,发送短信

    电话.短信是手机的基础功能,iOS中提供了接口,让我们调用.这篇文章简单的介绍一下iOS的打电话.发短信在程序中怎么调用. 1.打电话   [[UIApplication sharedApplicat ...

  8. iOS调用其它App,如拨打电话、发送邮件等。UIApplication:openURL:方法是实现这一目的的

    在iOS开发中,经常需要调用其它App,如拨打电话.发送邮件等.UIApplication:openURL:方法是实现这一目的的最简单方法,该方法一般通过提供的url参数的模式来调用不同的App. 通 ...

  9. iOS拨打电话的三种方式

    iOS拨打电话的三种方式 1,这种方法,拨打完电话回不到原来的应用,会停留在通讯录里,而且是直接拨打,不弹出提示 1 2 var string = "tel:" + "1 ...

  10. iOS 拨打电话三种方法

    小弟查了很多地方的关于iOS程序拨打电话,大都不全,今天我总结了三种方法,各有不同,拿来给大家分享,希望给大家有所帮助1,这种方法,拨打完电话回不到原来的应用,会停留在通讯录里,而且是直接拨打,不弹出 ...

随机推荐

  1. MySQL进阶2 sql选择语句 where

    与SQL语句一致 #进阶2: 条件查询 /* 语法 select 查询列表 #3 from 表名 #1 where 筛选条件; #2 分类: 1.按条件表达式进行筛选 > < = != & ...

  2. Java基础- TreeMap<Person,Integer> 实现的定制排序(Comparator 接口)

    测试内容: TreeMap<Person,Integer> 的两级排序 1.先按Person.id 从小到大 (需要把int类型转换成包装类 Integer, 才可以使用p1.getId( ...

  3. Why Go? – Key advantages you may have overlooked

    Why Go? – Key advantages you may have overlooked yourbasic.org/golang Go makes it easier (than Java ...

  4. [Visual Studio] 自定义项目模板(.vsix扩展)

    VS自定义项目模板:[2]创建VSIX项目模板扩展 听语音 | 浏览:1237 | 更新:2015-01-02 09:21 | 标签:软件开发 1 2 3 4 5 6 7 分步阅读 一键约师傅 百度师 ...

  5. Docker:18.x版本安装与卸载

    Docker CE 分为 stable, test, 和 nightly 三个更新频道.每六个月发布一个 stable 版本 初始化机器 #1.关闭警报 vi /etc/inputrc #然后将set ...

  6. js.map文件意义(转)

    什么是source map文件 source map文件是js文件压缩后,文件的变量名替换对应.变量所在位置等元信息数据文件,一般这种文件和min.js主文件放在同一个目录下. 比如压缩后原变量是ma ...

  7. 常用SQL之日期格式化和查询重复数据

    本文列举一些工作中常用的SQL,以提升工作效率. 1 日期格式化 使用 DATE_FORMAT(get_date, '%Y-%m-%d') 函数进行格式化.其中:get_date 是需要被格式化的字段 ...

  8. JAVA基础知识|内部类

    一.什么是内部类? 内部类(inner class)是定义在另一个类中的类 为什么使用内部类? 1)内部类方法可以访问该类定义所在的作用域中的数据,包括私有数据 2)内部类可以对同一个包中的其他类隐藏 ...

  9. CISCO实验记录十一:switch端口安全配置

    1.启用交换机端口安全 2.限制端口最大访问量为1,超出后关闭端口 1.启用交换机端口安全 #interface gigabitEthernet 0/1 #switchport mode access ...

  10. Springboot使用zuul进行负载均衡

    完整项目代码地址参考:https://github.com/SimonHu1993/SpringbootZuul 1.这里我们使用Eureka来作为服务的注册与发现中心,首先看看Eureka clie ...