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

来源:互联网 发布:nginx mysql 安装 编辑:程序博客网 时间:2024/06/05 07:40
今天做短信分享发现友盟调出短信界面没有标题和取消按钮;决定自己来做了。

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

2.在pch中添加

#import <MessageUI/MessageUI.h>


3. 遵循协议 

<MFMessageComposeViewControllerDelegate,UINavigationControllerDelegate>


4 实现代码


-(void)sendMessage

{

    //用于判断是否有发送短信的功能(模拟器上就没有短信功能)

    Class messageClass = (NSClassFromString(@"MFMessageComposeViewController"));

    

    //有短信功能

    if ([messageClasscanSendText]) {//发送短信

        

        //实例化MFMessageComposeViewController,并设置委托

        messageController = [[MFMessageComposeViewControlleralloc] init];

        messageController.messageComposeDelegate =self;

        messageController.delegate =self;

        

        UINavigationItem *navigationItem = [[[messageControllerviewControllers] lastObject]navigationItem];

        

        [navigationItem setTitle:@"新信息"];

        

        UIButton* ButSign = [[UIButtonalloc] initWithFrame:CGRectMake(0,0, 40,20)];

        [ButSign setTitle:@"取消"forState:UIControlStateNormal];

        ButSign.titleLabel.font = [UIFontsystemFontOfSize:15.0];

        [ButSign addTarget:selfaction:@selector(msgBackFun)forControlEvents:UIControlEventTouchUpInside];

        navigationItem.rightBarButtonItem = [[UIBarButtonItemalloc] initWithCustomView:ButSign];


        

        

        //拼接并设置短信内容

 

        messageController.body = @“短信内容”;

        

        //设置发送给谁

        messageController.recipients = @[@“10086”];

        

        

        //推到发送试图控制器

        [selfpresentViewController:messageControlleranimated:YEScompletion:^{

            

        }];

        

    }

    else

    {

        UIAlertView *alterView = [[UIAlertViewalloc] initWithTitle:@"提示"message:@"该设备没有发送短信的功能~"delegate:nilcancelButtonTitle:@"取消"otherButtonTitles:nil];

        [alterView show];

    }

}



//发送短信后回调的方法

-(void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result

{

     NSString *tipContent;

    switch (result) {

            caseMessageComposeResultCancelled:

            tipContent = @"发送短信已取消";

            break;

            

            caseMessageComposeResultFailed:

            tipContent = @"发送短信失败";

            break;

            

            caseMessageComposeResultSent:

            tipContent = @"发送成功";

            break;

            

            default:

            break;

    }

    

    [controller dismissViewControllerAnimated:YEScompletion:nil];

}


-(void)msgBackFun

{

    [messageControllerdismissViewControllerAnimated:YEScompletion:nil];

}

跑下发现OK了。

1 0
原创粉丝点击