2014-01-28 1 views
0

콘텐츠를 공유하기 위해 나는 UIActivityViewController을 사용하고 있습니다.이를 위해 다른 콘텐츠를 제공하기 위해 UIActivityProvider 하위 서비스를 받았습니다.UIActivityViewController에서 서로 다른 서비스에 대해 서로 다른 활동 항목 설정하기 ios

배열을 반환 중입니다. ActivityProvider에서 ActivityItems에 대해 배열에 nil이 표시됩니다. 문자열과 URL을 공유하고 싶습니다.

// 내 서브 클래스 코드는 메일 제목과 본문 설정하는 방법은 없나요

[email protected] ActivityProvider 
- (id) activityViewController:(UIActivityViewController *)activityViewController 
     itemForActivityType:(NSString *)activityType 
{ 

if ([activityType isEqualToString:UIActivityTypePostToTwitter]) 
{ 
    NSArray * activityItems = @[[NSString stringWithFormat:@"Some initial text."], [NSURL URLWithString:@"http://www.google.com"]]; 
    return activityItems; 
} 
if ([activityType isEqualToString:UIActivityTypePostToFacebook]) 
    return @"This is a facebook post!"; 
if ([activityType isEqualToString:UIActivityTypeMessage]) 
    return @"SMS message text"; 
if ([activityType isEqualToString:UIActivityTypeMail]) 
    return @"Email text here!"; 
if ([activityType isEqualToString:@"it.albertopasca.myApp"]) 
    return @"OpenMyapp custom text"; 
return nil; 
} 

- (id) activityViewControllerPlaceholderItem:(UIActivityViewController *)activityViewController { return @""; } 

입니다.

답변

0

당신은 UIActivityItemSource 프로토콜을 준수하는 클래스

- (NSString *)activityViewController:(UIActivityViewController *)activityViewController subjectForActivityType:(NSString *)activityType; 

를 구현하여 이메일 제목을 제공 할 수 있습니다. 자세한 내용은 the documentation을 참조하십시오.