2011-11-02 59 views
0

我有這樣的代碼,運行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]; 
} 

}

messageFieldUITextField其中用戶鍵入短信而contactNumber是從地址簿聯繫人的號碼。

我的問題是爲什麼我的MFMessageComposeViewController不啓動?有沒有更好的方法來做到這一點?謝謝!

+1

你有沒有嘗試添加/刪除從您的waitView /到self.view而不是模式呈現它,它的工作?我認爲問題是,當你打電話給自己解僱,你會釋放這個視圖。其他方面,你必須調用關於waitView的解僱,而不是在視圖中調用它。 – Mat

+0

你的回覆有點含糊,但我理解它的片段。將嘗試。謝謝你! – jaytrixz

+0

試過了,但沒有發生任何事情。一樣。 – jaytrixz

回答

0

請問,如果你改變你的第一線,

[self dismissModalViewControllerAnimated:NO]; 
+0

如果我這樣做,結果也是一樣。它只是不動畫。 – jaytrixz