zoukankan      html  css  js  c++  java
  • iOS 常用小功能 总结

    常用小功能

    iOS中的很多小功能都是非常简单的,几行代码就搞定了,比如打电话、打开网址、发邮件、发短信等

    打电话

    方法一(不被采用):
    拨号之前会弹框询问用户是否拨号,拨完后能自动回到原应用
    NSURL *url = [NSURL URLWithString:@"telprompt://10010"];
    
    [[UIApplication sharedApplication] openURL:url];
    缺点

    因为是私有API,所以可能不会被审核通过

    方法二(推荐使用):

    创建一个UIWebView来加载URL,拨完后能自动回到原应用
    if (_webView == nil) {
        _webView = [[UIWebView alloc] initWithFrame:CGRectZero];
    }
    
    [_webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"tel://10010"]]];

    需要注意的是:这个webView千万不要添加到界面上来,不然会挡住其他界面。

    发短信

    如果想指定短信内容,那就得使用MessageUI框架,包含主头文件

    #import <MessageUI/MessageUI.h>

    显示发短信的控制器
    MFMessageComposeViewController *vc = [[MFMessageComposeViewController alloc] init];
    
    // 设置短信内容
    vc.body = @"吃饭了没?";
    
    // 设置收件人列表
    vc.recipients = @[@"10010", @"02010010"];
    
    // 设置代理
    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(@"发送失败");
        }
    }

    当然,发短信方法只能在真机里调度,如果在模拟器里调用,会异常,在模拟器里,可以加上判断:

    if (![MFMessageComposeViewController canSendText]) return;

    发邮件

    跟发短信的第2种方法差不多,只不过控制器类名叫做:MFMailComposeViewController
    // 不能发邮件
    if (![MFMailComposeViewController canSendMail]) return;
    
    MFMailComposeViewController *vc = [[MFMailComposeViewController alloc] init];
    
    // 设置邮件主题
    [vc setSubject:@"会议"];
    // 设置邮件内容
    [vc setMessageBody:@"今天下午开会吧" isHTML:NO];
    // 设置收件人列表
    [vc setToRecipients:@[@"1234@qq.com"]];
    // 设置抄送人列表
    [vc setCcRecipients:@[@"1234@qq.com"]];
    // 设置密送人列表
    [vc setBccRecipients:@[@"56789@qq.com"]];
    
    // 添加附件(一张图片)
    UIImage *image = [UIImage imageNamed:@"lufy.jpeg"];
    NSData *data = UIImageJPEGRepresentation(image, 0.5);
    [vc addAttachmentData:data mimeType:@"image/jepg" 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(@"发送失败");
        }
    }

    打开其他常见文件

    如果想打开一些常见文件,比如html、txt、PDF、PPT等,都可以使用UIWebView打开
    只需要告诉UIWebView文件的URL即可
    至于打开一个远程的共享资源,比如http协议的,也可以调用系统自带的Safari浏览器:
    SURL *url = [NSURL URLWithString:@”http://www.baidu.com"];
    
    [[UIApplication sharedApplication] openURL:url];

    应用间跳转

    有时候,需要在本应用中打开其他应用,比如从A应用中跳转到B应用

    首先,B应用得有自己的URL地址(在Info.plist中配置)

    B应用的URL地址就是:mj://ios.itcast.cn
    接着在A应用中使用UIApplication完成跳转
    NSURL *url = [NSURL URLWithString:@"mj://ios.itcast.cn"];
    [[UIApplication sharedApplication] openURL:url];

    应用评分

    为了提高应用的用户体验,经常需要邀请用户对应用进行评分。应用评分无非就是跳转到AppStore展示自己的应用,然后由用户自己撰写评论
    跳转到AppStore,并且展示自己的应用
    NSString *str = [NSString stringWithFormat:
                     @"itms-apps://itunes.apple.com/cn/app/id%@?mt=8", appid];
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];
  • 相关阅读:
    Python 学习笔记 11.模块(Module)
    Python 学习笔记 8.引用(Reference)
    Python 学习笔记 9.函数(Function)
    Python 学习笔记 6.List和Tuple
    Python 学习笔记 4.if 表达式
    Python 学习笔记 2.自省
    Python 学习笔记 3.简单类型
    Python 学习笔记 7.Dictionary
    Python 学习笔记 5.对象驻留
    Python 学习笔记 10.类(Class)
  • 原文地址:https://www.cnblogs.com/jys509/p/4805030.html
Copyright © 2011-2022 走看看