打电话功能:
第一种是用UIWebView加载电话,这种会返回到应用程序中,是应用程序中最常用的
代码如下:
UIWebView*call =[[UIWebView alloc] init];
NSURL *telURL =[NSURL URLWithString:@"电话号"];
[call loadRequest:[NSURLRequest requestWithURL:telURL]];
[self.view addSubview:call];
第二种是私有方法 ,
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"电话号"]];
发邮件实现步骤:
第一步:加入头文件
#import <MessageUI/MessageUI.h>
第二步:遵守协议
<MFMailComposeViewControllerDelegate>
第三步 :实现发送邮件按钮的方法和代理方法
#pragma mark ----发送邮件
//邮件发送方法:
-(void)displayComposerSheet
{
MFMailComposeViewController *picker = [[MFMailComposeViewControlleralloc] init];
picker.mailComposeDelegate =self;
//设置主题
[picker setSubject:@"用户反馈"];
//设置收件人
NSArray *receive = [NSArrayarrayWithObjects:@"850944523@qq.com",
nil];
NSArray *ccRecipients = [NSArrayarrayWithObjects:@"1342236145@qq.com",nil];
NSArray *bccRecipients = [NSArrayarrayWithObjects:@"1342236145@qq.com",
nil];
[picker setToRecipients:receive];
[picker setCcRecipients:ccRecipients];
[picker setBccRecipients:bccRecipients];
// 设置邮件发送内容
NSString *emailBody =@"请反馈你宝贵的意见,让我们继续改进";
[picker setMessageBody:emailBodyisHTML:NO];
//邮件发送的模态窗口
[selfpresentViewController:picker animated:YEScompletion:nil];
}
//邮件发送完成调用的方法:
-(void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{
switch (result)
{
caseMFMailComposeResultCancelled: //取消
NSLog(@"MFMailComposeResultCancelled-取消");
break;
caseMFMailComposeResultSaved: //保存
NSLog(@"MFMailComposeResultSaved-保存邮件");
break;
caseMFMailComposeResultSent: //发送
NSLog(@"MFMailComposeResultSent-发送邮件");
break;
caseMFMailComposeResultFailed: //尝试保存或发送邮件失败
NSLog(@"MFMailComposeResultFailed: %@...",[errorlocalizedDescription]);
break;
}
// 关闭邮件发送视图
[selfdismissViewControllerAnimated:YEScompletion:nil];
}
发短信功能
Frameworks中要引入MessageUI.framework
#import
添加协议:<MFMessageComposeViewCont
- - (void)showMessageView
- {
- if( [MFMessageComposeViewController canSendText] ){
- MFMessageComposeViewController * controller = [[MFMessageComposeViewController alloc]init]; //autorelease];
- controller.recipients = [NSArray arrayWithObject:@"10010"];
- controller.body = @"测试发短信";
- controller.messageComposeDelegate = self;
- [self presentModalViewController:controller animated:YES];
- [[[[controller viewControllers] lastObject] navigationItem] setTitle:@"测试短信"];//修改短信界面标题
- }else{
- [self alertWithTitle:@"提示信息" msg:@"设备没有短信功能"];
- }
- }
- //MFMessageComposeViewControllerDelegate
- - (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result{
- [controller dismissModalViewControllerAnimated:NO];//关键的一句 不能为YES
- switch ( result ) {
- case MessageComposeResultCancelled:
- [self alertWithTitle:@"提示信息" msg:@"发送取消"];
- break;
- case MessageComposeResultFailed:// send failed
- [self alertWithTitle:@"提示信息" msg:@"发送成功"];
- break;
- case MessageComposeResultSent:
- [self alertWithTitle:@"提示信息" msg:@"发送失败"];
- break;
- default:
- break;
- }
- }
- - (void) alertWithTitle:(NSString *)title msg:(NSString *)msg {
- UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title
- message:msg
- delegate:self
- cancelButtonTitle:nil
- otherButtonTitles:@"确定", nil];
- [alert show];
- }