Pra*_*bey 0 iphone objective-c ios5
在我的iPhone应用程序中,我刚刚实现了应用内的短信功能.短信功能正常.但是在打开MFMessageComposeViewController之后,如果用户想要取消发送短信,他们就没有选择权.剩下的唯一选择是发送短信,然后只返回上一个视图.导航栏上应该有一个取消按钮,就像它在电子邮件编辑器中一样.下面是我编写的具有应用程序内短信功能的代码行:
-(void) smsComposer{
MFMessageComposeViewController *_smsCompose = [[MFMessageComposeViewController alloc] init];
if ([MFMessageComposeViewController canSendText]) {
_smsCompose.body = @"SMS BODY";
_smsCompose.messageComposeDelegate = self;
[self presentModalViewController:_smsCompose animated:YES];
}
}
Run Code Online (Sandbox Code Playgroud)
有什么我想念的吗?
提前谢谢,PC
试试这个....
在.h文件中
#import <MessageUI/MFMessageComposeViewController.h>
Run Code Online (Sandbox Code Playgroud)
和
@interface TestViewController : UIViewController <MFMessageComposeViewControllerDelegate>
Run Code Online (Sandbox Code Playgroud)
然后按下Click Click方法
-(void)buttonPressed:(UIButton *)button
{
[self sendSMS:@"Body of SMS..." recipientList:[NSArray arrayWithObjects:@"+1-111-222-3333", @"111-333-4444", nil]];
}
Run Code Online (Sandbox Code Playgroud)
MFMessageComposeViewController用于创建SMS内容和另一种处理用户与SMS对话框交互的方法.
-(void)sendSMS:(NSString *)bodyOfMessage recipientList:(NSArray *)recipients
{
MFMessageComposeViewController *controller = [[[MFMessageComposeViewController alloc] init] autorelease];
if([MFMessageComposeViewController canSendText])
{
controller.body = bodyOfMessage;
controller.recipients = recipients;
controller.messageComposeDelegate = self;
[self presentModalViewController:controller animated:YES];
}
}
Run Code Online (Sandbox Code Playgroud)
和
-(void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
{
[self dismissModalViewControllerAnimated:YES];
if (result == MessageComposeResultCancelled)
NSLog(@"Message cancelled")
else if (result == MessageComposeResultSent)
NSLog(@"Message sent")
else
NSLog(@"Message failed")
}
Run Code Online (Sandbox Code Playgroud)
请记住:您无法从模拟器中发送短信.在设备上测试.
| 归档时间: |
|
| 查看次数: |
6016 次 |
| 最近记录: |