ios 短信分享没有标题和取消按钮问题

本文介绍如何在iOS应用中自定义短信分享界面,包括添加标题、取消按钮等元素,并提供了一个具体的实现示例。
今天做短信分享发现友盟调出短信界面没有标题和取消按钮;决定自己来做了。

代码如下:
1.首先添加MessageUI.framework

2.在pch中添加

#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了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值