有谁知道如何更改UIActivityViewController的标准取消按钮文本值? 默认情况下,它是“取消”。但我想改变它,例如用不同的语言。
怎么做?谢谢!
答案 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];
答案 1 :(得分:1)
你做不到。但是,“取消”按钮默认是本地化的。
顺便提一下,如果这是您想要的,您可以创建自己的控制器。你可以用UIActivity
个对象填充它。请注意,当您查看该课程时,当文档谈论activityController
时,它就是UIViewController
。
答案 2 :(得分:1)
正如其他人所指出的,该按钮是由系统本地化的,您无法对其进行更改。至少在iOS 11上。但我也在努力解决这个问题,即使在更改系统语言之后按钮也保持了Cancel
标题。
这篇文章帮助我成功地本地化了共享表的“取消”按钮,并在countdown timer mode UIDatePicker
中处理了以前的系统本地化尝试:Why UIActivityViewController doesn't display localized cancel string?
将此行添加到info.plist
:
答案 3 :(得分:0)
取消按钮将被本地化。您也可以尝试REActivityViewController