杂感1

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];
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 我这一生大概收到过很多信 也不知道还会有多少个这样的时刻 带着想念的心情去追忆 结果被曾经的话逗笑 每次看信都遵循...
    安蓦魚阅读 166评论 6 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,908评论 18 139
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,366评论 11 349
  • 新书信息 中国首部军事科幻小说《军武使命》今天正式上市!超级军事kol@军武次位面诚意出品。一场席卷世界的地震海啸...
    联动书匠阅读 538评论 0 0
  • 心里想在写上有所进步,又希望能写出喜人的结果,但却三天打渔两天晒网,扯出各种不能写的理由,这种自欺欺人的事,你是否...
    肆舞秋风阅读 302评论 5 5