iOS手机打电话、发短信功能

一、实现发短信功能

1、发短信需要遵守导入框架并协议

//实现发短信功能需要导入MessageUI框架
#import <MessageUI/MessageUI.h>
//然后遵守MFMessageComposeViewControllerDelegate协议

2、在需要发短信的方法中调用下面代码

//发短信
-(void)SendMessage{
        NSLog(@"发短信");
        
        NSString *message =@"阿敏你好啊,有时间来找我玩";
        NSLog(@"message = %@",message);

        NSString *phone = @"15000000000";
        NSLog(@"phone = %@",phone);
        
//传入要发送到得电话号码,和短信界面预写入短信的内容,调用此方法即可跳到短信发送界面
        [self showMessageView:@[phone] title:self.bankName body:message];
}

3、实现发短信的方法


//发短信
-(void)showMessageView:(NSArray *)phones title:(NSString *)title body:(NSString *)body
{
    if( [MFMessageComposeViewController canSendText] )
    {
        MFMessageComposeViewController * controller = [[MFMessageComposeViewController alloc] init];
        controller.recipients = phones;
        controller.navigationBar.tintColor = [UIColor redColor];
        controller.body = body;
        controller.messageComposeDelegate = self;
        [self presentViewController:controller animated:YES completion:nil];
        [[[[controller viewControllers] lastObject] navigationItem] setTitle:title];//修改短信界面标题
    }
    else
    {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示信息"
                                                        message:@"该设备不支持短信功能"
                                                       delegate:nil
                                              cancelButtonTitle:@"确定"
                                              otherButtonTitles:nil, nil];
        [alert show];
    }
}

4、用于判断短信发送结果的方法


//发短信
-(void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
{
    [self dismissViewControllerAnimated:YES completion:nil];
    switch (result) {
        case MessageComposeResultSent:
            //信息传送成功
            NSLog(@"信息发送成功");
            
            break;
        case MessageComposeResultFailed:
            //信息传送失败
            NSLog(@"信息传送失败");
            
            break;
        case MessageComposeResultCancelled:
            //信息被用户取消传送
            NSLog(@"信息被用户取消传送");
            
            break;
        default:
            break;
    }
}

二、实现打电话功能

//打电话
-(void)Call{
        NSLog(@"打电话");
        
        NSString *phone = @"15000000000";
        NSLog(@"phone = %@",phone);
        
        UIWebView *webView = [[UIWebView alloc] init];
        NSString *string = [NSString stringWithFormat:@"tel://%@",phone];
        NSURL *url = [NSURL URLWithString:string];
        
        [webView loadRequest:[NSURLRequest requestWithURL:url]];
        
        [self.view addSubview:webView];

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,098评论 25 708
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,205评论 30 471
  • 1,NSObject中description属性的意义,它可以重写吗?答案:每当 NSLog(@"")函数中出现 ...
    eightzg阅读 4,185评论 2 19
  • 一天晕沉沉的 雨还不曾要停歇 傍晚从家里逃出来 走在飘雨的路上 没有打伞 是不想 只想在雨中 前后左右有逃雨的人 ...
    四夕清荷阅读 145评论 0 2
  • 年轻的时候,总是没有方向的。 总是爱幻想。爱天真,爱无知。你以为生活单纯。便不以为然的奢侈和浪费,浪费青春。浪费时...
    敢说真话的妖精阅读 389评论 1 3