UIActivityViewController - 如何更改取消按钮文本

时间:2013-03-08 12:22:39

标签: ios uiactivityviewcontroller

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

怎么做?谢谢!

4 个答案:

答案 0 :(得分: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];

enter image description here

答案 1 :(得分:1)

你做不到。但是,“取消”按钮默认是本地化的。 顺便提一下,如果这是您想要的,您可以创建自己的控制器。你可以用UIActivity个对象填充它。请注意,当您查看该课程时,当文档谈论activityController时,它就是UIViewController

答案 2 :(得分:1)

正如其他人所指出的,该按钮是由系统本地化的,您无法对其进行更改。至少在iOS 11上。但我也在努力解决这个问题,即使在更改系统语言之后按钮也保持了Cancel标题。

这篇文章帮助我成功地本地化了共享表的“取消”按钮,并在countdown timer mode UIDatePicker中处理了以前的系统本地化尝试:Why UIActivityViewController doesn't display localized cancel string?

将此行添加到info.plist

enter image description here

答案 3 :(得分:0)

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