gpt4 book ai didi

ios - 多个 UIActivityViewController 占位符项目?

转载 作者:行者123 更新时间:2023-12-02 04:27:48 25 4
gpt4 key购买 nike

UIActivityItemSources 好像只能返回一种占位符项?这看起来很奇怪,因为我有一个 UIActivityItemSource 可以根据给定的事件返回一个字符串、一个 NSData 对象或一个图像。

真的没有办法返回多种占位符吗? (NSArray 似乎不起作用。)

(我可以想象一个解决方案,我实例化一堆 UIActivityItemProvider 实例,每个实例都支持上面提到的不同数据类型。但这似乎比必要的工作多了很多......?)

最佳答案

如果您在 itemForActivityType 函数中添加跟踪,您将看到该函数将被调用多次。每项可共享的事件都有一个。

例如 - 如果我想为 Twitter 和邮件/短信共享提供不同的文本,我会得到如下内容:

- (id) activityViewController: (UIActivityViewController*) activityViewController itemForActivityType: (NSString*) activityType {

if (activityType == UIActivityTypePostToTwitter) {
return @"Sharing by Twitter";
}
else
return @"Other kind of sharing";

}

更新:

如果您想提供不同类型的数据进行共享(例如文本和图像) - 您需要以某种方式编写占位符函数,以便在多次调用时返回两种不同类型的对象。

- (id) activityViewControllerPlaceholderItem: (UIActivityViewController*) activityViewController {
static int step = 0;

if (step == 0) {
step = 1;
return @"text";
}
else if (step == 1) {
step = 2;
return [UIImage imageNamed: @"image"];
}
}

关于ios - 多个 UIActivityViewController 占位符项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20694382/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com