Как обрезать ARSCNView границы по кругу? - PullRequest
0 голосов
/ 28 февраля 2019

Должно быть просто обрезать ARSCNView, поскольку ARSCNView является подклассом UIView.

После логики шаблона (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 входит / выходит (или ограничен в памяти), он отображается в виде круга (как и предполагалось).

Кто-нибудь сталкивался с этим и знает как исправить?Или мы должны подать радар.Спасибо!

...