![](/img/trans.png)
[英]MFMessageComposeViewController does not show up send button and message body on ios8
[英]Cancel button on MFMessageComposeViewController does not show up
在我的iPhone应用程序中,我刚刚实现了应用程序内SMS功能。 SMS功能正常运行。 但是在打开MFMessageComposeViewController之后,如果用户要取消发送短信,则别无选择。 剩下的唯一选择是发送短信,然后仅返回上一个视图。 导航栏上应该有一个取消按钮,就像在电子邮件编辑器中一样。 以下是我编写的具有应用程序内短信功能的代码行:
-(void) smsComposer{
MFMessageComposeViewController *_smsCompose = [[MFMessageComposeViewController alloc] init];
if ([MFMessageComposeViewController canSendText]) {
_smsCompose.body = @"SMS BODY";
_smsCompose.messageComposeDelegate = self;
[self presentModalViewController:_smsCompose animated:YES];
}
}
有什么我想念的吗?
预先感谢PC
尝试这个....
在.h文件中
#import <MessageUI/MFMessageComposeViewController.h>
和
@interface TestViewController : UIViewController <MFMessageComposeViewControllerDelegate>
然后点击按钮的方法
-(void)buttonPressed:(UIButton *)button
{
[self sendSMS:@"Body of SMS..." recipientList:[NSArray arrayWithObjects:@"+1-111-222-3333", @"111-333-4444", nil]];
}
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];
}
}
和
-(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")
}
请记住: 您不能从模拟器内发送SMS消息。 在设备上测试。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.