我正在尝试更改WKWebView中的文本选择颜色。我几乎尝试了所有能够找到的针对UIWebView/WKWebView提出的解决方案。

更改色调颜色不起作用。将css应用于::selection-webkit-tap-highlight-color标记均无效。

ios - 如何在WKWebView中更改文本选择颜色?-LMLPHP

总是蓝色的。可以更改吗?

最佳答案

从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中的“浅色”内容可以看到选择颜色和插入符号颜色

10-07 19:14
查看更多