【发布时间】: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];
}
}
messageField 是 UITextField,其中用户键入 SMS 消息,而 contactNumber 是地址簿中的联系人号码。
我的问题是为什么我的MFMessageComposeViewController 没有启动?有更好的方法吗?谢谢!
【问题讨论】:
-
您是否尝试在 self.view 中添加/删除您的 waitView 而不是以模态显示它?...我认为问题在于,当您调用 self 时,您将释放它视图..否则您必须在调用它的视图中调用 waitView 的驳回。
-
你的回复有点含糊,但我理解它的sn-ps。会尝试的。谢谢马特!
-
试过了,但什么也没发生。同样的事情。
标签: iphone xcode timer sms messageui