通过 UIActivityViewController 与 WhatsApp 共享时按钮中的文本颜色错误
Posted
技术标签:
【中文标题】通过 UIActivityViewController 与 WhatsApp 共享时按钮中的文本颜色错误【英文标题】:Wrong text color in buttons when sharing with WhatsApp via UIActivityViewController 【发布时间】:2017-06-20 10:08:01 【问题描述】:当我使用 UIActivityViewController
向 WhatsApp 分享文本时,就我而言,分享的第二个屏幕按钮颜色错误。
第一个屏幕没问题。这个问题已经讨论过很多次了,在这里可以找到一大堆答案:Cannot set text color of Send and Cancel buttons in the mail composer when presented from the UIActivityViewController in ios7
答案为我修复了以下按钮颜色:
MFMailComposeViewController 和分享时的第一个屏幕 WhatsApp但由于某种原因不是第二个。
这修复了第一个屏幕:
[[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
截图:
第一个屏幕:(确定) 第二个屏幕(不正常) 通过电子邮件共享(确定)【问题讨论】:
***.com/a/47064914/3641812 的解决方案帮我解决了这个问题。 【参考方案1】:只需尝试在您的Appdelegate
方法didFinishLaunchingWithOptions
中更改UIWindow 的tintColor
。然后它将默认自动传递给它的所有 UIView 后代。
[self.window setTintColor:[UIColor whiteColor]];
希望这会对你有所帮助。
这也可能是第三方(覆盖)再次设置 tintColor 的问题。
【讨论】:
@SjoerdPerfors 这也可能是第三方的问题,它会覆盖此设置。以上是关于通过 UIActivityViewController 与 WhatsApp 共享时按钮中的文本颜色错误的主要内容,如果未能解决你的问题,请参考以下文章
绑定: 通过 Binding 绑定对象, 通过 x:Bind 绑定对象, 通过 Binding 绑定集合, 通过 x:Bind 绑定集合
如何通过 Windows Azure 通过 GCM 通过唯一 ID 发送特定 Android 设备的通知?