我有这个代码在发送短信之前运行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
没有发布?有没有更好的方法呢?谢谢!
答案 0 :(得分:0)
如果将第一行更改为
,是否有效[self dismissModalViewControllerAnimated:NO];