打电话、发短信是手机的基础功能,在IOS中提供了接口让我们调用,下面我们介绍IOS怎么调用打电话,发短信。
1、打电话
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://10086"]];
使用openURL这个API打电话结束后,返回的节目是系统拨打电话的界面。对用户体验不太好,下面我们介绍另外一中打电话以后可以返回系统的方式,代码如下:
UIWebView*callWebview =[[UIWebView alloc] init];
NSURL *telURL =[NSURL URLWithString:@"tel:10086"];
[callWebview loadRequest:[NSURLRequest requestWithURL:telURL]];
[self.view addSubview:callWebview];
2、发短信
在IOS中发送短信有两张方式,最简单的是使用openURL,代码如下:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://10086"]];//发送短信
上述方法无法指定短信发送的内容,在IOS4.0以后,新添加了 MFMessageComposeViewCont
在调用发送界面之前,可以先检查是否支持发送短信,如果返回NO,则不应该将短信界面展示出来,而应该提示用户不支持发送
短信。
要使用此功能,需要先在Frameworks中引入MessageUI.framework
#import <MessageUI/MessageUI.h>
添加协议<MFMessageComposeViewCont rollerDelegate>
主要参数有:
messageComposeDelegate 处理发送结构
recipients:收信人(支持群发)
body:短信内容
代码调用如下:
@interface ViewController ()<MFMessageComposeViewControllerDelegate>
@property(nonatomic,retain)UIImageView *imageview;
@end
调用MFMessageComposeViewController,同时实现MFMessageComposeViewControllerDelegate,代码如下:
-(void)BtnSetBodySendMessage{
if([MFMessageComposeViewController canSendText]){
MFMessageComposeViewController *controller=[[MFMessageComposeViewController alloc] init];
controller.recipients=[NSArray arrayWithObject:@"10086"];
controller.messageComposeDelegate=self;
[self presentViewController:controller animated:YES completion:nil];
[[[[controller viewControllers] lastObject] navigationItem] setTitle:@"标题"];//修改短信界面标题
}else{
NSLog(@"设备没有短信功能");
}
}
-(void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result{
switch(result){
case MessageComposeResultCancelled:
NSLog(@"发送取消");
break;
case MessageComposeResultFailed:
NSLog(@"发送失败");
break;
case MessageComposeResultSent:
NSLog(@"发送成功");
break;
default:
break;
}
[controller dismissViewControllerAnimated:YES completion:nil];
}
3、打开网址
代码如下:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.ifeng.com"]];