异常图示
解决办法(控制器新增下面代码):
override func buildMenu(with builder: UIMenuBuilder) {
if #available(iOS 16.0, *) {
builder.remove(menu: .lookup)
}
super.buildMenu(with: builder)
}
原因分析(WKWebview):
// 通过这个方法告诉UIMenuController它内部应该显示什么内容,”复制”、”粘贴”等
- (BOOL)canPerformAction:(SEL)action withSender:(nullable id)sender API_AVAILABLE(ios(3.0));
// 要求响应者从菜单中添加和删除项目。
- (void)buildMenuWithBuilder:(id<UIMenuBuilder>)builder API_AVAILABLE(ios(13.0));
猜想:
iOS16UIMenuController废弃,之前通过canPerformAction则返回false。则可屏蔽所有的剪切板。