【问题标题】:How to launch MFMessageComposeViewController如何启动 MFMessageComposeViewController
【发布时间】:2011-12-20 02:45:38
【问题描述】:

我有这段代码在发送 SMS 之前运行 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 没有启动?有更好的方法吗?谢谢!

【问题讨论】:

  • 您是否尝试在 self.view 中添加/删除您的 waitView 而不是以模态显示它?...我认为问题在于,当您调用 self 时,您将释放它视图..否则您必须在调用它的视图中调用 waitView 的驳回。
  • 你的回复有点含糊,但我理解它的sn-ps。会尝试的。谢谢马特!
  • 试过了,但什么也没发生。同样的事情。

标签: iphone xcode timer sms messageui


【解决方案1】:

如果你把你的第一行改为

,它会起作用吗?
[self dismissModalViewControllerAnimated:NO];

【讨论】:

  • 如果我这样做,结果相同。它只是没有动画。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-15
  • 1970-01-01
  • 2011-04-05
  • 1970-01-01
相关资源
最近更新 更多