0

当我使用UIActivityViewController与WhatsApp共享文本时,共享的第二个屏幕具有错误的按钮颜色。第一个屏幕是确定的。这个问题已经讨论了很多的时间和答案的一个很大的水桶可以在这里找到:当通过UIActivityViewController与WhatsApp共享时,按钮中的textColor错误

但由于某种原因不是第二个。

此为第一个屏幕的修补程序:

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

但是,即使将所有UIBarButtonItems的外观不工作:

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

示例代码不工作:

 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 

屏幕截图:

第一个屏幕(OK) Whatsapp first screen (OK) 第二个屏幕(不正常) Whatsapp second screen (NOT OK) 股份通过e-mail(OK) Email (OK)

回答

1

只需通过改变尝试的UIWindow的tintColorAppdelegate方法didFinishLaunchingWithOptions。它会自动将其默认传递给它的所有UIView后代。

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

希望这会帮助你。

这也可能是第三方的问题,它将(重写)再次设置tintColor。

+0

不工作。我已经添加了代码我测试了 –

+0

@SjoerdPerfors这也可能是第三方会覆盖此设置的问题。 –

相关问题