0

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

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

此代码转到一个名为 waitScreen 的方法,该方法显示一个带有活动指示器和标签的视图控制器,告诉用户 15 秒计时器已到位。在 15 秒计时器之后,此视图被关闭(请参见下面的代码),然后我想MFMessageComposeViewController在用户的身体和接收者已经就位的情况下启动该视图。由于 iOS 无法自动发送 SMS,用户必须点击发送才能发送 SMS 消息。

这是我的 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没有启动?有更好的方法吗?谢谢!

4

1 回答 1

0

如果您将第一行更改为

[self dismissModalViewControllerAnimated:NO];
于 2011-11-02T10:30:16.767 回答