1.拨打电话三种方式 2.发送短信

本文介绍三种在iOS应用中实现拨打电话的方法,并详细解释了两种推荐方式的具体实现过程。此外,还提供了两种发送短信的方式,一种是通过内置功能,另一种是利用MFMessageComposeViewController进行更丰富的短信编辑体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,这种方法,拨打完电话回不到原来的应用,会停留在通讯录里,而且是直接拨打,不弹出提示

NSMutableString * str=[[NSMutableString alloc] initWithFormat:@"tel:%@",@"186xxxx6979"];

    //            NSLog(@"str======%@",str);

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];

    

2,这种方法,打完电话后还会回到原来的程序,也会弹出提示,推荐这种

NSMutableString * str=[[NSMutableString alloc] initWithFormat:@"tel:%@",@"186xxxx6979"];

    UIWebView * callWebview = [[UIWebView alloc] init];

    [callWebview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:str]]];

    [self.view addSubview:callWebview];

    [callWebview release];

    [str release];

3,这种方法也会回去到原来的程序里(注意这里的telprompt),也会弹出提示

NSMutableString * str=[[NSMutableString alloc] initWithFormat:@"telprompt://%@",@"186xxxx6979"];

    //            NSLog(@"str======%@",str);

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]]


http://blog.youkuaiyun.com/ouy_huan/article/details/30506925   ……来源



发送短信:

方式一

  1. [[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"sms://10010"]];//发短信  
  2. 方式二

Frameworks中要引入MessageUI.framework 

#import <MessageUI/MessageUI.h>
添加协议:<MFMessageComposeViewControllerDelegate>


  1. - (void)showMessageView  {  
  2.     if( [MFMessageComposeViewController canSendText] ){  
  3.         MFMessageComposeViewController * controller = [[MFMessageComposeViewController alloc]init]; //autorelease];  
  4.         controller.recipients = [NSArray arrayWithObject:@"10010"];       
  5.         controller.body = @"测试发短信";          
  6.         controller.messageComposeDelegate = self;  
  7.         [self presentModalViewController:controller animated:YES];  
  8.         [[[[controller viewControllers] lastObject] navigationItem] setTitle:@"测试短信"];//修改短信界面标题  
  9.     }else{  
  10.         [self alertWithTitle:@"提示信息" msg:@"设备没有短信功能"];          
  11.     }      
  12. }  
  13. //MFMessageComposeViewControllerDelegate  
  14. - (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result{  
  15.     [controller dismissModalViewControllerAnimated:NO];//关键的一句   不能为YES  
  16.     switch ( result ) {  
  17.         case MessageComposeResultCancelled:  
  18.   
  19.             [self alertWithTitle:@"提示信息" msg:@"发送取消"];   
  20.             break;  
  21.         case MessageComposeResultFailed:// send failed  
  22.             [self alertWithTitle:@"提示信息" msg:@"发送成功"];   
  23.             break;  
  24.         case MessageComposeResultSent:  
  25.             [self alertWithTitle:@"提示信息" msg:@"发送失败"];   
  26.             break;  
  27.         default:  
  28.             break;   
  29.     }  
  30. }  
  31.  
  32. - (void) alertWithTitle:(NSString *)title msg:(NSString *)msg {  
  33.      UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title  
  34.            message:msg  
  35.            delegate:self  
  36.            cancelButtonTitle:nil  
  37.            otherButtonTitles:@"确定", nil];  
  38.     [alert show];  
  39. }   
http://blog.youkuaiyun.com/xyz_lmn/article/details/8968209  ……来源



内容概要:本文档详细介绍了基于事件触发扩展状态观测器(ESO)的分布式非线性车辆队列控制系统的实现。该系统由N+1辆车组成(1个领头车和N个跟随车),每辆车具有非线性动力学模型,考虑了空气阻力、滚动阻力等非线性因素及参数不确定性和外部扰动。通过事件触发ESO估计总扰动,基于动态面控制方法设计分布式控制律,并引入事件触发机制以减少通信和计算负担。系统还包含仿真主循环、结果可视化等功能模块。该实现严格遵循论文所述方法,验证了观测误差有界性、间距误差收敛性等核心结论。 适合人群:具备一定编程基础,对非线性系统控制、事件触发机制、扩展状态观测器等有一定了解的研发人员和研究人员。 使用场景及目标:①研究分布式非线性车辆队列控制系统的理论与实现;②理解事件触发机制如何减少通信和计算负担;③掌握扩展状态观测器在非线性系统中的应用;④学习动态面控制方法的设计与实现。 其他说明:本文档不仅提供了详细的代码实现,还对每个模块进行了深入解析,包括非线性建模优势、ESO核心优势、动态面控制与传统反步法对比、事件触发机制优化等方面。此外,文档还实现了论文中的稳定性分析,通过数值仿真验证了论文的核心结论,确保了系统的稳定性和有效性。建议读者在学习过程中结合代码进行实践,并关注各个模块之间的联系与相互作用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值