scenekit - ARKit 可以显示 WKWebview 吗?

标签 scenekit wkwebview arkit

尝试使用 ARKit 来显示 WKWebView,我得到的只是一个显示背景但没有前景的页面。虽然页面可以滚动。我附上了 Apple 网页作为屏幕截图。

这是代码:

DispatchQueue.main.async {
  let webView = WKWebView(frame: CGRect(x: 0, y: 0, width: 640, height: 480))
  let request = URLRequest(url: URL(string: "https://www.apple.com")!)

  webView.load(request)
  plane.firstMaterial?.diffuse.contents = webView
}

Apple web page in ARKit

这是否意味着 ARKit 无法显示网页?我正在使用运行 ARKit 2 的 iOS 12 beta 2。我还关闭了应用程序传输安全设置并允许任意加载。

我也浏览了这个网站,发现有人有同样的问题,但没有解决方案:WKWebView is showing only background

更新:它适用于 UIWebView。

最佳答案

documentation明确指出您不能显示 UIView s 作为 SCNMaterialProperty :

SceneKit cannot use a layer that is already being displayed elsewhere (for example, the backing layer of a UIView object).



一种解决方法是创建一个 UIImage的页面并呈现。

关于scenekit - ARKit 可以显示 WKWebview 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51131318/

相关文章:

swift - 如何在 ARKit 中从特定时间间隔播放 DAE 动画?

ios - SceneKit - 使用 physicsWorld.updateCollisionPairs() 进行即时接触检测

ios - 无法识别的选择器发送到实例错误?

ios - WKWebView不执行任何js代码

swift - WKWebKit 不刷新网页

ios - Swift 4,设备方向

同时使用 ARKit 和 AVCamera

ios - 扩展名为 .Shader、.vsh、.fsh 的着色器有什么区别?

objective-c - 从 WKWebView 获取 favicon.co

augmented-reality - 如何将带有 MTL 文件的 OBJ 转换为 USDZ 格式