1、复制字符串到剪切板
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
pasteboard.string = @"复制字符串到剪切板";
2、打电话
创建一个成员变量UIWebView来加载URL,拨完后能自动回到原应用
@interface ViewController ()
@property(nonatomic,strong)UIWebView *webView;
@end
if (_webView == nil) {
_webView = [[UIWebView alloc] initWithFrame:CGRectZero];
}
[_webView loadRequest: [NSURLRequest requestWithURL: [NSURL URLWithString: @"tel://电话号码"]]]; // // tel:13534268291
//需要注意的是:这个webView千万不要添加到界面上来,不然会挡住其他界面
3、发短信
如果想指定短信内容,那就得使用MessageUI框架。包含头文件:
#import <MessageUI/MessageUI.h>
遵循MFMessageComposeViewControllerDelegate协议:
@interface ViewController ()<MFMessageComposeViewControllerDelegate>
@end
MFMessageComposeViewController *vc = [[MFMessageComposeViewController alloc] init];
// 设置短信内容
vc.body = @"短信内容";
// 设置收件人列表
vc.recipients = @[@"号码1", @"号码2"];
// 设置代理
vc.messageComposeDelegate = self;
// 显示控制器
[self presentViewController:vc animated:YES completion:nil];
实现发短信的代理方法:
//代理方法,当短信界面关闭的时候调用,发完后会自动回到原应用
- (void)messageComposeViewController:(MFMessageComposeViewController*)controller didFinishWithResult:(MessageComposeResult)result {
// 关闭短信界面
[controller dismissViewControllerAnimated:YES completion:nil];
if(result == MessageComposeResultCancelled) {
NSLog(@"取消发送");
} else if(result == MessageComposeResultSent) {
NSLog(@"已经发出");
} else {
NSLog(@"发送失败");
}
}
4、发邮件
遵循MFMailComposeViewControllerDelegate协议:
@interface ViewController ()<MFMailComposeViewControllerDelegate>
@end
MFMailComposeViewController *vc = [[MFMailComposeViewController alloc] init];
//************************ 设置邮件内容 ************************
// 设置邮件主题
[vc setSubject:@"主题"];
// 设置邮件内容
[vc setMessageBody:@"邮件内容" isHTML:NO];
// 设置收件人列表
[vc setToRecipients:@[@"收件人@qq.com"]];
// 设置抄送人列表
[vc setCcRecipients:@[@"抄送人@qq.com"]];
// 设置密送人列表
[vc setBccRecipients:@[@"密送人@qq.com"]];
// 添加附件(例如:一张图片)
UIImage *image = [UIImage imageNamed:@"图片.jpeg"];
NSData *data = UIImageJPEGRepresentation(image, 0.5);
[vc addAttachmentData:data mimeType:@"image/jpeg" fileName:@"lufy.jpeg"];
// 设置代理
vc.mailComposeDelegate = self;
// 显示控制器
[self presentViewController:vc animated:YES completion:nil];
实现发邮件的代理方法:
//邮件发送后的代理方法回调,发完后会自动回到原应用
- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
{
// 关闭邮件界面
[controller dismissViewControllerAnimated:YES completion:nil];
if(result == MFMailComposeResultCancelled) {
NSLog(@"取消发送");
} else if(result == MFMailComposeResultSent) {
NSLog(@"已经发出");
} else {
NSLog(@"发送失败");
}
}
5、打开其他常见文件
如果想打开一些常见文件,比如html、txt、PDF、PPT等,都可以使用UIWebView打开,只需要告诉UIWebView文件的URL即可。至于打开一个远程的共享资源,比如http协议的,也可以调用系统自带的Safari浏览器:
//创建需要打开的 URL 地址
NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];
[[UIApplication sharedApplication] openURL:url];