iOS常用小功能

    xiaoxiao2021-03-26  21

    iOS几个实用的小功能

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

    一、打电话

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

    NSURL *url = [NSURL URLWithString:@"tel://10086"]; [[UIApplication sharedApplication] openURL:url];

    此方法拨号之前会提示是否拨号,打完电话后会回到应用界面,但是因为是私有API,苹果不建议使用

    NSURL *url = [NSURL URLWithString:@"telprompt://10086"]; [[UIApplication sharedApplication] openURL:url];

    此方法是最推荐的,但是需要注意的是,不能给webView设置frame,因为其目的只是调用电话功能,不需要显示

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

    二、发短信

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

    NSURL *url = [NSURL URLWithString:@"sms://10086"]; [[UIApplication sharedApplication] openURL:url];

    使用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 }

    三、发邮件

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

    NSURL *url = [NSURL URLWithString:@"mailto://email@qq.com"]; [[UIApplication sharedApplication] openURL:url];

    与发短信类似,使用的是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就可以了

    转载请注明原文地址: https://ju.6miu.com/read-661323.html

    最新回复(0)