Опция SMS не работает должным образом - PullRequest
0 голосов
/ 14 ноября 2011

Я использую xcode 4.2 и разрабатываю приложение для iphone, часть этого приложения отправляет SMS

вот код, который я набрал:

-(IBAction)SMSbutton{
    MFMessageComposeViewController *sms = [[MFMessageComposeViewController alloc] init];
        if ([MFMessageComposeViewController canSendText]) {
            sms.body= [NSString stringWithFormat: @"text"];
            sms.messageComposeDelegate = self;
            [self presentModalViewController:sms animated:YES];
}

Я могу открыть приложение SMS и отправить SMS, но проблема в том, нажимаю ли я кнопку «Отмена» или «Отправить», приложение сообщения не исчезает. как это сделать?

спасибо

Ответы [ 3 ]

3 голосов
/ 14 ноября 2011

Установите ваш вызывающий класс как делегат составителя сообщений, затем перехватите события отмены и отправки, чтобы при необходимости закрыть модальный контроллер.

Установите заголовочный файл, чтобы он соответствовал MFMessageComposeViewControllerDelegate, и когдаВы инициализируете составитель, установите делегат сообщения на себя:

MFMessageComposeViewController *george = [MFMessageComposeViewController alloc] init];
george.messageComposeDelegate = self;

Затем реализуйте метод делегата ... Самый простой способ:

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

... но вы можете поймать ипри необходимости устраняйте ошибки и события.

1 голос
/ 14 ноября 2011

Реализация messageComposeViewController:didFinishWithResult: в вашем делегате "

-(void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result {
      if(result == MessageComposeResultCancelled) {
           //Message cancelled
      } else if(result == MessageComposeResultSent) {
           //Message sent
      }

      [self dismissModalViewControllerAnimated:YES];
}
0 голосов
/ 14 ноября 2011

Вы пробовали dismissViewControllerAnimated:completion: или dismissModalViewControllerAnimated:?

[self dismissModalViewControllerAnimated: YES];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...