2013-03-08 38 views

Trả lời

1

Bạn không thể. Tuy nhiên, nút Hủy được bản địa hóa theo mặc định. Ngẫu nhiên, bạn có thể tạo bộ điều khiển của riêng mình nếu đó là những gì bạn muốn. Và bạn có thể điền nó với các đối tượng UIActivity. Lưu ý rằng khi bạn xem lớp học đó, khi các tài liệu nói về một số activityController, nó là bất kỳ UIViewController.

+0

Tôi không muốn tạo bộ điều khiển riêng của mình (nhưng có thể sẽ cần). Chỉ muốn thay đổi văn bản cho nút "Hủy" và như bạn đã nói, có thể là không thể: (Ngoài ra khi tôi thay đổi cài đặt bản địa hóa - "Hủy" không thay đổi, nó vẫn "Hủy". – Sid

+0

Bây giờ tôi thấy rằng tôi cần để nghiên cứu thêm về ... quốc tế hóa, không phải về việc thay đổi văn bản cho UIActivityViewController. Thx. – Sid

+0

Và đó là một chủ đề rộng lớn ... :) – Rikkles

0

Nút hủy sẽ được bản địa hóa. Ngoài ra, bạn có thể thử REActivityViewController

+0

Thx. Bình luận của tôi giống như Rikkles. – Sid

3

Cập nhật: Mã bên dưới chỉ hoạt động trên iOS7.

Giống như Rikkles đã nói, bạn không cần phải tùy chỉnh văn bản để làm cho nội dung được bản địa hóa. Nhưng chỉ trong trường hợp ai đó bao giờ có một lý do chính đáng để làm điều này, sau đây là các mã:

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

Tính năng này hoạt động trong iOS 7 nhưng đã ngừng hoạt động trong iOS 8. – frin

+0

nhưng có vẻ như đó là một UIAlertAction ngay bây giờ. Và nó không có proxy xuất hiện – cocoapriest

1

Như những người khác chỉ ra, các nút được bản địa hoá bởi hệ thống, bạn không thể thay đổi nó. Ít nhất là trên iOS 11. Nhưng tôi cũng đang phải vật lộn với điều đó và nút giữ tiêu đề Cancel ngay cả sau khi thay đổi ngôn ngữ hệ thống.

bài này đã giúp tôi thành công bản địa hoá các nút của tấm cổ phiếu Hủy bỏ và làm việc trên một UIDatePicker trong countdown timer mode mà chống lại những nỗ lực nội địa hóa hệ thống trước đó cũng như: Why UIActivityViewController doesn't display localized cancel string?

Thêm dòng này vào info.plist của bạn:

enter image description here

Các vấn đề liên quan