2014-01-31 2 views
8

Я использую UIActivityViewController, так как я добавил facebook, твиттер и почту. После того, как я завершил работу с акциями, используя любую из этих функций, как я могу получить обратный вызов успеха.UIActivityViewController: Как получить, если действие завершено или нет

Любые идеи могут быть оценены, enter image description here

+1

completionHandler –

+0

я нашел это было не возможно, .. HTTP://stackoverflow.com/questions/21017017/uiactivityviewcontroller-completionhandler-how-to-check-if-activity-send-or-not –

+0

Спасибо Mik e и жаль его работу, .. :-) –

ответ

6

Установить обработчик завершения, как этот

[controller setCompletionHandler:^(NSString *act, BOOL success) 
    { 

     NSLog(@"act type %@",act); 
     NSString *result = nil; 

     if ([act isEqualToString:UIActivityTypePostToTwitter]) result = @"POST-SHARED-SUCCESSFULLY"; 
     if ([act isEqualToString:UIActivityTypePostToFacebook]) result = @"POST-SHARED-SUCCESSFULLY"; 

     if (success) 
     { 
      UIAlertView *av = [[UIAlertView alloc] initWithTitle:result message:nil delegate:nil cancelButtonTitle:NSLocalizedString(@"OK", nil) otherButtonTitles:nil]; 
      [av show]; 
     } 
     else 
     { 
      UIAlertView *av = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"ERROR", nil) message:nil delegate:nil cancelButtonTitle:NSLocalizedString(@"OK", nil) otherButtonTitles:nil]; 
      [av show]; 
     } 
    }]; 
6

Swift синтаксисом:

let avc = UIActivityViewController(activityItems: [image], applicationActivities: nil) 
avc.completionWithItemsHandler = { (activity, success, items, error) in 
    print(success ? "SUCCESS!" : "FAILURE") 
} 

self.presentViewController(avc, animated: true, completion: nil) 
Смежные вопросы