#import <MessageUI/MessageUI.h>
3. 遵循协议
<MFMessageComposeViewControllerDelegate,UINavigationControllerDelegate>
4 实现代码
-(void)sendMessage
{
//用于判断是否有发送短信的功能(模拟器上就没有短信功能)
Class messageClass = (NSClassFromString(@"MFMessageComposeViewController"));
//有短信功能
if ([messageClass canSendText]) {//发送短信
//实例化MFMessageComposeViewController,并设置委托
messageController = [[MFMessageComposeViewController alloc] init];
messageController.messageComposeDelegate = self;
messageController.delegate = self;
UINavigationItem *navigationItem = [[[messageController viewControllers] lastObject] navigationItem];
[navigationItem setTitle:@"新信息"];
UIButton* ButSign = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 40, 20)];
[ButSign setTitle:@"取消" forState:UIControlStateNormal];
ButSign.titleLabel.font = [UIFont systemFontOfSize:15.0];
[ButSign addTarget:self action:@selector(msgBackFun) forControlEvents:UIControlEventTouchUpInside];
navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:ButSign];
//拼接并设置短信内容
messageController.body = @“短信内容”;
//设置发送给谁
messageController.recipients = @[@“10086”];
//推到发送试图控制器
[self presentViewController:messageController animated:YES completion:^{
}];
}
else
{
UIAlertView *alterView = [[UIAlertView alloc] initWithTitle:@"提示" message:@"该设备没有发送短信的功能~" delegate:nil cancelButtonTitle:@"取消" otherButtonTitles:nil];
[alterView show];
}
}
//发送短信后回调的方法
-(void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
{
NSString *tipContent;
switch (result) {
case MessageComposeResultCancelled:
tipContent = @"发送短信已取消";
break;
case MessageComposeResultFailed:
tipContent = @"发送短信失败";
break;
case MessageComposeResultSent:
tipContent = @"发送成功";
break;
default:
break;
}
[controller dismissViewControllerAnimated:YES completion:nil];
}
-(void)msgBackFun
{
[messageController dismissViewControllerAnimated:YES completion:nil];
}
跑下发现OK了。
本文介绍如何在iOS应用中自定义短信分享界面,包括添加标题、取消按钮等元素,并提供了一个具体的实现示例。
2万+

被折叠的 条评论
为什么被折叠?



