0

에서 어떤 아이콘을 클릭했는지 알 수있는 방법은 activityController setCompletionHandler:^(NSString *activityType, BOOL completed) 이전에 호출됩니까?activityController setCompletionHandler가 호출되기 전에 UIActivityViewController에서 어떤 아이콘을 클릭했는지 확인하는 방법은 무엇입니까?

트위터와 페이스 북을 공유하기 위해 다른 텍스트를 공유하고 싶습니다.

-(IBAction)btnSharePressedFromOffersDetail:(id)sender 
{ 
NSString *posturl= @"facebook or twitter"; 
UISimpleTextPrintFormatter *printData = [[UISimpleTextPrintFormatter alloc]init]; 
NSArray *[email protected][posturl,printData]; 
UIActivityViewController *activityController = [[UIActivityViewController alloc]initWithActivityItems:Itemsarray applicationActivities:nil]; 
[self presentViewController:activityController 
        animated:YES completion:nil]; 
[activityController setCompletionHandler:^(NSString *activityType, BOOL completed) 
{ 
    NSLog(@"Activity = %@",activityType); 
    NSLog(@"Completed Status = %d",completed); 
    if (completed) 
    { 
     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"" 
                 message:@"Thanks for sharing!" 
                 delegate:nil 
               cancelButtonTitle:@"OK" 
               otherButtonTitles:nil]; 
     [alert show]; 
    } 
    else 
    {  
    } 
}]; 
} 

답변

1

당신의 목표는 트위터 나 페이스 북에 다른 텍스트를 사용하는 경우 http://nshipster.com/uiactivityviewcontroller/, 그것은 UIActivityItemSource 프로토콜을 구현 공유 모델의 Responsibility는입니다.

- (id) activityViewController:(UIActivityViewController *)activityViewController itemForActivityType:(NSString *)activityType 
{ 
    if([activityType isEqualToString:UIActivityTypePostToFacebook]) return @"Facebook text"; 
    else if([activityType UIActivityTypePostToTwitter]) return @"Twitter text"; 
    else return @"Default text"; 
} 
+0

이 메소드를 작성했지만 호출되지 않았습니다. –

+0

이와 같이 ActivityViewController를 생성합니까? UIActivityViewController * activityVC = [[UIActivityViewController alloc] initWithActivityItems : @ [YOUR_MODEL] applicationActivities : nil]; – EricD

+0

질문에서 위의 코드를 넣고 있습니다 –