我有这样的代码,运行15秒的延迟定时器它发送一个SMS之前:如何启动MFMessageComposeViewController
timer = [NSTimer scheduledTimerWithTimeInterval:15.0 target:self selector:@selector(sendMessage) userInfo:nil repeats:NO];
这一代码进入到被叫等待屏幕方法,其显示视图控制器与活动指示器和标签告诉用户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
其中用户键入短信而contactNumber是从地址簿联系人的号码。
我的问题是为什么我的MFMessageComposeViewController
不启动?有没有更好的方法来做到这一点?谢谢!
你有没有尝试添加/删除从您的waitView /到self.view而不是模式呈现它,它的工作?我认为问题是,当你打电话给自己解雇,你会释放这个视图。其他方面,你必须调用关于waitView的解雇,而不是在视图中调用它。 – Mat
你的回复有点含糊,但我理解它的片段。将尝试。谢谢你! – jaytrixz
试过了,但没有发生任何事情。一样。 – jaytrixz