2012-03-14 3 views
0

У меня есть приложение, в котором есть действие sendInAppSMS. В сообщении появляется окно с предварительно введенным телом. Проблема в том, что нажатие кнопки отмены не работает. Если я нажимаю кнопку отправки, он отправляет сообщение, но не закрывает окно. Поэтому я должен полностью закрыть приложение, чтобы избавиться от него.Закрыть окно SMS inapp iOS 5.1

Кто-то, кто мог бы зайти к этому раньше? Пытался искать здесь, но не смог найти решение.

Cheers!

Это как мой код выглядит следующим образом:

-(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]; 
} 

Edit:
Чтобы установить делегат:

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

Извините за такой n00b, и я не ожидал ответа, но не может выяснить, куда положить, что код (помните, что я дизайнер только начал изучать приложения для программирования и все еще читаю мою первую книгу): P – Marcus

+0

Решил! Благодаря! Имел правильный код, просто отсутствует контроллер.messageComposeDelegate = self; отлично работает! – Marcus