Wenn ich einen Text zu WhatsApp mit dem UIActivityViewController teilen, hat der zweite Bildschirm der Freigabe die falschen Schaltflächenfarben. Der erste Bildschirm ist OK. Dieses Problem hat eine Menge Zeit und einen großen Eimer mit Antworten diskutiert hier gefunden werden kann: Cannot set text color of Send and Cancel buttons in the mail composer when presented from the UIActivityViewController in iOS7Falsche textColor in Schaltflächen beim Teilen mit WhatsApp über UIActivityViewController
Die Antwort Fixes für mich die Schaltfläche Farben:
- MFMailComposeViewController
- und den ersten Bildschirm, wenn Austausch zu WhatsApp
Aber aus irgendeinem Grund nicht die zweite.
Das hat das Update für den ersten Bildschirm:
[[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], nil] setTintColor:[UIColor whiteColor]];
Aber auch das Aussehen aller UIBarButtonItems Einstellung nicht funktioniert:
[[UIBarButtonItem appearance] setTintColor:[UIColor whiteColor]];
Beispielcode nicht funktioniert:
self.window?.tintColor = UIColor.white
let activityController = UIActivityViewController.init(activityItems: items, applicationActivities: nil)
if let vc = delegate?.currentViewController() {
sender.isEnabled = false
vc.present(activityController, animated: true, completion: {
sender.isEnabled = true
})
activityController.navigationController?.navigationBar.tintColor = UIColor.white
activityController.view.tintColor = UIColor.white
Screenshots:
erste Bildschirm (OK) Zweiter Bildschirm (nicht OK) Per E-Mail (OK)
Nicht funktioniert. Ich habe den Code hinzugefügt, was ich getestet habe –
@SjoerdPerfors Es könnte auch ein Problem mit der dritten Partei sein, die diese Einstellung überschreiben würde. –