0

Lorsque je partage un texte à Whatsapp avec le UIActivityViewController, le deuxième écran du partage a les mauvaises couleurs de bouton. Le premier écran est OK. Ce problème a été discuté d'un grand nombre de fois et un grand seau de réponses peuvent être trouvées ici: Cannot set text color of Send and Cancel buttons in the mail composer when presented from the UIActivityViewController in iOS7Mauvais textColor dans les boutons lors du partage avec Whatsapp via UIActivityViewController

Les corrections de réponse pour moi les couleurs des boutons de:

  • MFMailComposeViewController
  • Et le premier écran lorsque partage à Whatsapp

Mais pour une raison quelconque, pas le second.

Cela ne le correctif pour le premier écran:

[[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], nil] setTintColor:[UIColor whiteColor]]; 

Mais, même l'apparence de tous UIBarButtonItems ne fonctionne pas:

[[UIBarButtonItem appearance] setTintColor:[UIColor whiteColor]]; 

Exemple de code ne fonctionne pas:

 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 

Captures d'écran:

Premier écran (OK) Whatsapp first screen (OK) deuxième écran (non OK) Whatsapp second screen (NOT OK) Partager par e-mail (OK) Email (OK)

Répondre

1

Juste essayer en changeant tintColor de la UIWindow dans votre méthode AppdelegatedidFinishLaunchingWithOptions. Il passera automatiquement par défaut à tous ses descendants UIView.

[self.window setTintColor:[UIColor whiteColor]]; 

Espérons que cela vous aidera.

Cela pourrait également être un problème avec le tiers qui modifierait (redéfinir) le paramètre tintColor.

+0

Ne fonctionne pas. J'ai ajouté le code que j'ai testé –

+0

@SjoerdPerfors Cela pourrait aussi être un problème avec le tiers qui écraserait ce paramètre. –