7

有人知道如何更改 UIActivityViewController 的标准取消按钮文本值吗?默认情况下它是“取消”。但我想改变它,例如用不同的语言。

怎么做?谢谢!

4

4 回答 4

3

更新:以下代码仅适用于 iOS7。

就像 Rikkles 所说,您无需自定义文本即可使其本地化。但以防万一有人有充分的理由这样做,这里是代码:

NSArray *activityItems = @[@"Test"];

UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];

NSAttributedString *as = [[NSAttributedString alloc] initWithString:@"Custom Text" attributes:@{NSForegroundColorAttributeName:[UIColor greenColor]}];
[[UIButton appearanceWhenContainedIn:[UIActivityViewController class], nil] setAttributedTitle:as forState:UIControlStateNormal];

[self presentViewController:activityController animated:YES completion:nil];

在此处输入图像描述

于 2014-02-22T23:51:38.113 回答
1

你不能。但是,默认情况下取消按钮是本地化的。顺便说一句,您可以根据需要创建自己的控制器。你可以用UIActivity物体填充它。请注意,当您查看该课程时,当文档谈论 anactivityController时,它是 any UIViewController

于 2013-03-08T12:34:48.930 回答
1

正如其他人指出的那样,该按钮已由系统本地化,您无法更改它。至少在 iOS 11 上。但我也在为此苦苦挣扎,Cancel即使更改了系统语言,该按钮仍保留其标题。

这篇文章帮助我成功地本地化了共享表的取消按钮,并UIDatePicker倒数计时器模式下工作,该模式也抵制了以前的系统本地化尝试:为什么 UIActivityViewController 不显示本地化的取消字符串?

将此行添加到您的info.plist

在此处输入图像描述

于 2018-01-19T09:45:00.343 回答
0

取消按钮将被本地化。你也可以试试REActivityViewController

于 2013-03-08T12:37:22.200 回答