Как добавить слушателя в MFMessageComposeViewController? - PullRequest
0 голосов
/ 05 августа 2010

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

Например, я знаю, что с textField пример слушателя будет: [textField addTarget: self action: @selector (methodName) forControlEvents: UIControlEventEditingDidEndOnExit];

Ответы [ 2 ]

1 голос
/ 05 августа 2010

Google очень полезен ...

Третий результат - учебник по SMS .

Соответствующий код:

- (void)messageComposeViewController:(MFMessageComposeViewController *)controller
                 didFinishWithResult:(MessageComposeResult)result
{
    switch (result) {
        case MessageComposeResultCancelled:
            NSLog(@"Cancelled");
            break;
        case MessageComposeResultFailed:
            UIAlertView *alert = [[UIAlertView alloc] 
                          initWithTitle:@"MyApp" 
                                message:@"Unknown Error"
                               delegate:self 
                      cancelButtonTitle:@”OK” 
                      otherButtonTitles:nil];
            [alert show];
            [alert release];
            break;
        case MessageComposeResultSent:

            break;
        default:
            break;
    }

    [self dismissModalViewControllerAnimated:YES];
}

Реализуйте случай MessageComposeResultSent, чтобы узнать, когда сообщение было отправлено.

0 голосов
/ 05 августа 2010

Вы хотите добавить делегата в ваш MFMessageComposeViewController.В методе делегата messageComposeViewController:didFinishWithResult: вы можете проверить параметр результата, чтобы увидеть, отменил ли пользователь SMS или отправил его.

- (void)messageComposeViewController:(MFMessageComposeViewController *)controller 
                 didFinishWithResult:(MessageComposeResult)result {
        switch(result) {
        case MessageComposeResultCancelled:
            // user canceled sms
            break;
        case MessageComposeResultSent:
            // user sent sms
            break;
        case MessageComposeResultFailed:
            // sms send failed
            break;
        default:
            break;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...