如何启动MFMessageComposeViewController

时间:2011-11-02 08:19:33

标签: iphone xcode timer sms messageui

我有这个代码在发送短信之前运行15秒延迟计时器:

timer = [NSTimer scheduledTimerWithTimeInterval:15.0 target:self selector:@selector(sendMessage) userInfo:nil repeats:NO];

此代码转到一个名为waitScreen的方法,该方法显示一个视图控制器,其中包含一个活动指示器和一个标签,告诉用户15秒计时器就位。在15秒计时器之后,此视图被取消(请参阅下面的代码),然后我想启动MFMessageComposeViewController视图,用户的身体和收件人已经到位。由于iOS无法自动发送短信,用户必须点击发送才能发送短信。

这是我的sendMessage方法:

- (void)sendMessage {
[self dismissModalViewControllerAnimated:YES];

MFMessageComposeViewController *controller = [[[MFMessageComposeViewController alloc] init] autorelease];
if([MFMessageComposeViewController canSendText]){
    controller.body = messageField.text;
    controller.recipients = [NSArray arrayWithObjects:contactNumber.text,nil];
    controller.messageComposeDelegate = self;

    [self presentModalViewController:controller animated:YES];
}

}

messageFieldUITextField,其中用户键入SMS消息,而contactNumber是来自地址簿的联系人号码。

我的问题是为什么我的MFMessageComposeViewController没有发布?有没有更好的方法呢?谢谢!

1 个答案:

答案 0 :(得分:0)

如果将第一行更改为

,是否有效
[self dismissModalViewControllerAnimated:NO];