我正在尝试更改WKWebView
中的文本选择颜色。我几乎尝试了所有能够找到的针对UIWebView
/WKWebView
提出的解决方案。
更改色调颜色不起作用。将css应用于::selection
,-webkit-tap-highlight-color
标记均无效。
总是蓝色的。可以更改吗?
最佳答案
从iOS 13开始,设置WKWebView的tintColor
属性还会更改选择颜色(和插入符号颜色)。
WKWebView *webView = ...
webView.tintColor = UIColor.redColor;
额外提示:如果您的应用程序支持暗模式,但由于某种原因WKWebView内容必须为亮模式,则可以强制包含WKWebView的整个 View Controller 具有亮模式特征,或者可以执行以下操作:
if (@available(iOS 13.0, *)) {
webView.tintColor = [webView.tintColor resolvedColorWithTraitCollection:[UITraitCollection traitCollectionWithUserInterfaceStyle:UIUserInterfaceStyleLight]];
}
这样可以确保html中的“浅色”内容可以看到选择颜色和插入符号颜色