杂感1

作者: univer2012 | 来源:发表于2016-03-16 07:55 被阅读7次

    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];
    

    相关文章

      网友评论

          本文标题:杂感1

          本文链接:https://www.haomeiwen.com/subject/vmyqlttx.html