2013-03-08 36 views

回答

1

你不能。但是,取消按鈕是默認本地化的。 順便提一下,如果這是你想要的,你可以創建自己的控制器。你可以用UIActivity對象填充它。請注意,當您查看該課程時,當文檔討論activityController時,它是任何UIViewController

+0

我不想創建自己的控制器(但可能需要)。只是想改變「取消」按鈕的文本,正如你所說,可能這是不可能的:(另外當我改變本地化設置 - 「取消」不會改變,它仍然是「取消」 – Sid 2013-03-08 18:19:36

+0

現在我看到我需要研究更多關於...國際化,而不是關於改變文字UIActivityViewController。Thx。 – Sid 2013-03-08 19:11:14

+0

而這是一個巨大的主題... :) – Rikkles 2013-03-09 09:36:50

0

取消按鈕將被本地化。你也可以嘗試REActivityViewController

+0

Thx。我的評論和Rikkles一樣。 – Sid 2013-03-08 19:12:41

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

+0

這適用於iOS 7,但在iOS 8中停止工作。 – frin 2014-09-26 07:07:09

+0

是的,因爲它現在看起來像是UIAlertAction。它沒有外觀代理 – cocoapriest 2014-12-20 15:50:43

1

正如其他人所指出的,該按鈕被系統本地化的,你不能改變它。至少在iOS 11上。但是我還在爲之苦苦掙扎,即使在更改系統語言之後,該按鈕仍保留其標題Cancel

這篇文章幫助我成功地本地化取消份額片的按鈕和一個在UIDatePickercountdown timer mode是抵制以前的系統國產化的嘗試,以及工作:Why UIActivityViewController doesn't display localized cancel string?

添加此行到您的info.plist

enter image description here

相關問題