iOS常用小功能

iOS几个实用的小功能

这些功能比较实用,而且实现的代码也比较简单

一、打电话

  1. 此方式打完电话,不会返回应用界面,而是停留在打电话界面

    NSURL *url = [NSURL URLWithString:@"tel://10086"];
    [[UIApplication sharedApplication] openURL:url];
    
  2. 此方法拨号之前会提示是否拨号,打完电话后会回到应用界面,但是因为是私有API,苹果不建议使用

    NSURL *url = [NSURL URLWithString:@"telprompt://10086"];
    [[UIApplication sharedApplication] openURL:url];
    
  3. 此方法是最推荐的,但是需要注意的是,不能给webView设置frame,因为其目的只是调用电话功能,不需要显示

    UIWebView *webView = [[UIWebView alloc]init];
    [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"tel://10086"]]];
    

二、发短信

  1. 与打电话方式1相似,URL的协议换成sms,且不能指定短信内容,其结果也是在发完短信后不会返回应用界面

    NSURL *url = [NSURL URLWithString:@"sms://10086"];  
    [[UIApplication sharedApplication] openURL:url];
    
  2. 使用MessageUI框架,可以指定短信内容,也可以在发完短信后返回应用界面
    首先需要导入头文件#import <MessageUI/MessageUI.h>
    然后:

    MFMessageComposeViewController *messageComposeVC =  [[MFMessageComposeViewController alloc]init];  
    messageComposeVC.body = @"Hello World";  
    messageComposeVC.recipients = @[@"10086",@"10010"];  
    messageComposeVC.messageComposeDelegate = self; 
    //显示短信界面
    [self presentViewController:messageComposeVC animated:YES completion:nil];  
    

    最后实现代理方法:

    -(void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result{
    
    [controller dismissViewControllerAnimated:YES completion:nil];
    
    if (result == MessageComposeResultCancelled) {
      //TODO
    
    }else if (result == MessageComposeResultFailed){
    //TODO
    
    }else{ //result == MessageComposeResultSent
    //TODO
    
    }
    

三、发邮件

  1. 与前面的类似,不能返回到应用界面

    NSURL *url = [NSURL URLWithString:@"mailto://email@qq.com"];
    [[UIApplication sharedApplication] openURL:url];
    
  2. 与发短信类似,使用的是MessageUI框架的MFMailComposeViewController
    首先需要导入头文件#import <MessageUI/MessageUI.h>
    然后:

    MFMailComposeViewController *mailComposeVC = [[MFMailComposeViewController alloc]init];
    [mailComposeVC setSubject:@"subject"];
    [mailComposeVC setToRecipients:@[@"eamil@qq.com"]];
    [mailComposeVC setMessageBody:@"Hello World" isHTML:NO];
    //其他需要填写的内容可以查看头文件定义
    mailComposeVC.mailComposeDelegate = self;
    //显示邮箱页面
    [self presentViewController:mailComposeVC animated:NO completion:nil];
    

    最后实现代理方法:

    -(void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error{
    [controller dismissViewControllerAnimated:YES completion:nil];
    
    if (result == MessageComposeResultCancelled) {
    //TODO
    
    }else if (result == MessageComposeResultFailed){
    //TODO
    
    }else{ //result == MessageComposeResultSent
    //TODO
    
    }
    

四、打开其他常见文件

打开其他文件,例如PPT,PDF,TXT,HTML都可以用UIWebView实现,只要定义好URL就可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值