2012-03-14 60 views
0

我有一個應用程序,它裏面有一個sendInAppSMS操作。它帶來了一個預先輸入正文的窗口。問題是按取消按鈕不起作用。如果我按發送它發送消息,但不關閉窗口。所以我必須徹底關閉應用程序才能擺脫它。關閉短信inapp窗口iOS 5.1

有人在那裏誰可能跑到這之前?試圖在這裏搜索,但無法找到解決方案..

乾杯!

這是我的代碼看起來像:

-(IBAction) sendInAppSMS:(id) sender 
{ 
    MFMessageComposeViewController *controller = [[[MFMessageComposeViewController alloc] init] autorelease]; 
    if([MFMessageComposeViewController canSendText]) 
    { 
     CLLocation *location=[self findCurrentLocation]; 
     CLLocationCoordinate2D coordinae=[location coordinate]; 
     controller.body =[[NSString alloc] initWithFormat:@" Alarm!, call the senders number with latitude:%f longitude:%f",coordinae.latitude,coordinae.longitude]; ; 
     controller.recipients = [NSArray arrayWithObjects:@"phonenumber1", @"phonenumber2", nil]; 
     [self presentModalViewController:controller animated:YES]; 
    } 
} 

我邊學邊做,所以我不期望的答案,但如果你覺得助陣,做到哪裏我把它在此代碼?

回答

0

您是否設置並實現了MFMessageComposeViewControllerDelegate?試試這個

- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result{ 
    [controller dismissModalViewControllerAnimated:YES]; 
} 

編輯:
要設置委託:

MFMessageComposeViewController *myComposer = [MFMessageComposeViewController alloc] init]; 
myComposer.messageComposeDelegate = self; 
+0

對不起,我是這樣一個的n00b,我不指望一個答案,但無法找出把那個代碼(請記住,我是一名設計師,剛剛開始學習編程應用程序,並且仍在閱讀我的第一本書):P – Marcus 2012-03-14 11:15:33

+0

解決了它!謝謝!有正確的代碼,只是缺少controller.messageComposeDelegate = self;現在效果很棒! – Marcus 2012-03-14 11:32:59