由于ARSCNView是UIView的子类,因此剪切ARSCNView应该很简单。
在样板(sceneView.session.run(configuration)
)逻辑之后,可以在ViewController中以编程方式添加场景视图:
sceneView.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(sceneView)
NSLayoutConstraint.activate([
sceneView.widthAnchor.constraint(equalTo: view.widthAnchor, multiplier: 1.0),
sceneView.heightAnchor.constraint(equalTo: sceneView.widthAnchor, multiplier: 1.0),
sceneView.centerXAnchor.constraint(equalTo: view.centerXAnchor),
sceneView.centerYAnchor.constraint(equalTo: view.centerYAnchor),
])
sceneView
显示为正方形。
但是,添加剪辑/蒙版无效。
sceneView.layer.masksToBounds = true
sceneView.clipsToBounds = true
sceneView.layer.cornerRadius = UIScreen.main.bounds.width/2
发生的情况是sceneView
仍然是正方形。
奇怪的是,当应用程序启动(或加载了视图)时,剪辑起作用了,因此sceneView
是一个圆圈。另外,当我退出应用程序时,应用程序的快照将sceneView
显示为一个圆圈。而且,当我打开iOS屏幕录像时,sceneView
会显示为一个圆圈。
这对我来说似乎是个虫子?正常运行时,sceneView
显示时没有剪切。但是,当sceneView进入/退出(或内存受限制)时,它显示为一个圆(按预期方式)。
有人遇到这个问题并且知道如何解决吗?还是我们应该提起雷达。谢谢!