2015-09-27 16 views
7

Trong ứng dụng tôi sử dụng màu trắng làm màu chính. Nếu người dùng mở UIActivityViewController, tôi đặt màu tô màu cho bộ điều khiển thành màu xanh chuẩn của iOS. Điều này làm việc tuyệt vời cho chính chế độ xem hoạt động nhưng khi một người muốn gửi thư, màu sắc không phải là màu xanh nhưng lại là màu trắng.UIActivityViewController: màu sắc màu của bộ điều khiển chế độ xem được trình bày

Thật tuyệt vời khi có cách thiết lập màu sắc của các chế độ xem được trình bày. Có cái nào không?

Mở một MFMailComposeViewController và đặt tông màu thành xanh dương cũng có tác dụng trên UIActionSheet được hiển thị, không phải vậy nếu MFMailComposeViewController được mở từ trong một số UIActivityViewController.

Xem ảnh chụp màn hình để làm rõ: http://i.imgur.com/OggykJF.png

Chỉnh sửa: Đây là những gì tôi làm để thêm màu sắc màu cho UIActivityViewController:

UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:items applicationActivities:activities]; activityController.view.tintColor = [UIColor blueColor]; [self presentViewController:activityController animated:YES completion:nil];

+0

Bạn đã bao giờ tìm thấy giải pháp cho điều này chưa? – wsidell

Trả lời

-1

Đặt tintColor trên UIActivityViewController của bạn sau khi khởi tạo nhưng trước khi trình bày .

UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:items applicationActivities:activities]; 

//Set the tint color on just the activity controller as needed here before presenting 
[activityController.view setTintColor:[UIColor blueColor]]; 

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

Cảm ơn câu trả lời của bạn! Tất nhiên đây là chính xác những gì tôi làm. Do đó, điều đó không giúp tôi. – triplejberger

1

tốt nhất những gì bạn có thể làm là để thiết lập màu sắc thái của cửa sổ với hệ thống màu xanh hoặc bất kỳ màu sắc màu bạn muốn trên UIActivityViewController ngay trước khi bạn trình bày nó và sau đó thay đổi màu sắc thái của cửa sổ trở về ban đầu ngay trước khi bạn bỏ qua nó. Điều đó sẽ hiệu quả. Đây là cách tôi làm điều đó:

UIApplication.shared.keyWindow?.tintColor = Styles.color.systemBlue 

và sau đó

UIApplication.shared.keyWindow?.tintColor = Styles.color.tint 
0

tôi đã không quản lý để có được điều này để làm việc ở tất cả, nhưng có bạn coi là thay thế - rời khỏi văn bản trắng và thay đổi màu nền của thanh điều hướng để chúng hiển thị, ví dụ với:

UINavigationBar.appearance().backgroundColor = .black 

Điều này dường như hoạt động cho các nút trên thanh điều hướng cho màn hình chia sẻ Thư và Twitter.

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