2015-09-27 7 views
7

W aplikacji używam białego jako głównego koloru tinty. Jeśli użytkownik otworzy UIActivityViewController, ustawiam kolor tinty kontrolera na standardowy niebieski iOS. Działa to doskonale dla samego widoku aktywności, ale gdy ktoś chce wysłać wiadomość, kolor odcienia nie jest niebieski, ale biały ponownie.UIActivityViewController: kolor tinty przedstawionych kontrolerów widoku

Byłoby świetnie mieć sposób na ustawienie koloru odcienia przedstawionych widoków. Czy jest jeden?

Otwarcie MFMailComposeViewController i ustawienie koloru odcień niebieski również ma wpływ na wyświetlonej UIActionSheet, nie tak jeśli MFMailComposeViewController jest otwarty od wewnątrz UIActivityViewController.

Zobacz zdjęcia dla wyjaśnienia: http://i.imgur.com/OggykJF.png

Edit: To jest to, co robię na dodanie koloru odcień UIActivityViewController:

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

+0

Czy kiedykolwiek znalazłeś rozwiązanie tego problemu? – wsidell

Odpowiedz

-1

Ustawianie tintColor na UIActivityViewController po inicjalizacji, ale przed przedstawieniem .

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

Dzięki za odpowiedź! Oczywiście, właśnie to robię. Dlatego to mi nie pomaga. – triplejberger

1

Najlepsze, co można zrobić, to ustawić okna Odcień do systemu niebieskim lub dowolny kolor odcień chcesz na UIActivityViewController tuż przed przedstawić go, a następnie zmienić okna Odcień powrotem do oryginału tuż przed jej oddalenie. To zadziała. Oto jak to zrobić:

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

a następnie

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

Nie udało się uzyskać to do pracy w ogóle, ale czy uważany za alternatywę - pozostawiony tekst biały i zmiana kolor tła navbar, więc pojawiają się, np z:

UINavigationBar.appearance().backgroundColor = .black 

To wydaje się działać za pomocą przycisków na pasku nawigacyjnym na ekranach udostępniania poczty i Twitterze.

Powiązane problemy