Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UIActivityViewController中各个活动的不同活动项_Ios_Iphone_Objective C_Uiactivityviewcontroller - Fatal编程技术网

Ios UIActivityViewController中各个活动的不同活动项

Ios UIActivityViewController中各个活动的不同活动项,ios,iphone,objective-c,uiactivityviewcontroller,Ios,Iphone,Objective C,Uiactivityviewcontroller,是否可以为UIActivityViewController中的每个活动使用不同的活动项?例如,我有以下代码: NSArray *objectsToShare = @[schemeURL, wordedString]; controller = [[UIActivityViewController alloc] initWithActivityItems:objectsToShare applicationActivities:nil]; // Exclude all activities ex

是否可以为
UIActivityViewController
中的每个活动使用不同的活动项?例如,我有以下代码:

NSArray *objectsToShare = @[schemeURL, wordedString];
controller = [[UIActivityViewController alloc] initWithActivityItems:objectsToShare applicationActivities:nil];

// Exclude all activities except AirDrop.
NSArray *excludedActivities = @[UIActivityTypePostToTwitter,
                                    UIActivityTypePostToWeibo,
                                    UIActivityTypeAssignToContact, UIActivityTypeSaveToCameraRoll,
                                    UIActivityTypeAddToReadingList, UIActivityTypePostToFlickr,
                                    UIActivityTypePostToVimeo, UIActivityTypePostToTencentWeibo];
controller.excludedActivityTypes = excludedActivities;
[self presentViewController:controller animated:YES completion:nil];

我想将要发送到Facebook的数据设置为
wordedString
属性,并将要通过空投发送的数据设置为
schemeURL
属性。这可能吗?提前感谢。

您可以将UIActivityItemProvider子类化,并可以使用以下方法检查活动类型。。试试看

//- Returns the data object to be acted upon. (required)
- (id)activityViewController:(UIActivityViewController *)activityViewController itemForActivityType:(NSString *)activityType
{
if ([activityType isEqualToString:UIActivityTypePostToFacebook]) {
    NSString *theText = @"Some text for Facebook";
    return theText;
}

if ([activityType isEqualToString:UIActivityTypePostToTwitter]) {
    NSString *theText = @"Some text for Twitter";
    return theText;
}

if ([activityType isEqualToString:UIActivityTypePostToWeibo]) {
    NSString *theText = @"Some text for Weibo";
    return theText;
}

if ([activityType isEqualToString:UIActivityTypeMail]) {
    NSString *theText = _someText;
    return theText;
}

if ([activityType isEqualToString:kYourCustomMailType]) {
    NSString *theText = @"Some text for your Custom Type";
    return theText;
    }

return @"Some default text";

}

将UIActivityItemProvider子类化主要是当您希望“提供异步的共享项”时。如果您只想自定义每个活动的有效负载,您应该创建一个符合UIActivityItemSource协议的对象。@1Pawan您好,您能确认这是否对您有效吗?您能确认这是否对您有效吗?