以编程方式添加 ARSCNView
Add ARSCNView programmatically
如何以编程方式添加 ARSCNView?如何设置宽度、高度和约束条件?
class ViewController: UIViewController {
var sceneView: ARSCNView!
let configuration = ARWorldTrackingConfiguration()
override func viewDidLoad() {
super.viewDidLoad()
self.sceneView.debugOptions = [ARSCNDebugOptions.showFeaturePoints, ARSCNDebugOptions.showWorldOrigin]
self.sceneView.session.run(configuration)
}
}
如果你只是问如何添加ARSCNView,那么我的回答是:
//instantiate scene view in viewDidLoad
sceneView = ARSCNView()
//add it to parents subview
self.view.addSubview(sceneView)
//add autolayout contstraints
sceneView.translatesAutoresizingMaskIntoConstraints = false
sceneView.topAnchor.constraint(equalTo: self.view.topAnchor).isActive = true
sceneView.leftAnchor.constraint(equalTo: self.view.leftAnchor).isActive = true
sceneView.rightAnchor.constraint(equalTo: self.view.rightAnchor).isActive = true
sceneView.bottomAnchor.constraint(equalTo: self.view.bottomAnchor).isActive = true
//load your scene
您的代码可能就这么简单:
import ARKit
class ViewController: UIViewController, ARSCNViewDelegate {
lazy var sceneView: ARSCNView = {
let sceneView = ARSCNView()
sceneView.delegate = self
return sceneView
}()
override func viewDidLoad() {
super.viewDidLoad()
self.view.addSubview(sceneView)
NSLayoutConstraint.activate([
sceneView.topAnchor.constraint(equalTo: view.topAnchor),
sceneView.leadingAnchor.constraint(equalTo: view.leadingAnchor),
sceneView.bottomAnchor.constraint(equalTo: view.bottomAnchor),
sceneView.trailingAnchor.constraint(equalTo: view.trailingAnchor)
])
view.subviews.forEach {
[=10=].translatesAutoresizingMaskIntoConstraints = false
}
}
}
如何以编程方式添加 ARSCNView?如何设置宽度、高度和约束条件?
class ViewController: UIViewController {
var sceneView: ARSCNView!
let configuration = ARWorldTrackingConfiguration()
override func viewDidLoad() {
super.viewDidLoad()
self.sceneView.debugOptions = [ARSCNDebugOptions.showFeaturePoints, ARSCNDebugOptions.showWorldOrigin]
self.sceneView.session.run(configuration)
}
}
如果你只是问如何添加ARSCNView,那么我的回答是:
//instantiate scene view in viewDidLoad
sceneView = ARSCNView()
//add it to parents subview
self.view.addSubview(sceneView)
//add autolayout contstraints
sceneView.translatesAutoresizingMaskIntoConstraints = false
sceneView.topAnchor.constraint(equalTo: self.view.topAnchor).isActive = true
sceneView.leftAnchor.constraint(equalTo: self.view.leftAnchor).isActive = true
sceneView.rightAnchor.constraint(equalTo: self.view.rightAnchor).isActive = true
sceneView.bottomAnchor.constraint(equalTo: self.view.bottomAnchor).isActive = true
//load your scene
您的代码可能就这么简单:
import ARKit
class ViewController: UIViewController, ARSCNViewDelegate {
lazy var sceneView: ARSCNView = {
let sceneView = ARSCNView()
sceneView.delegate = self
return sceneView
}()
override func viewDidLoad() {
super.viewDidLoad()
self.view.addSubview(sceneView)
NSLayoutConstraint.activate([
sceneView.topAnchor.constraint(equalTo: view.topAnchor),
sceneView.leadingAnchor.constraint(equalTo: view.leadingAnchor),
sceneView.bottomAnchor.constraint(equalTo: view.bottomAnchor),
sceneView.trailingAnchor.constraint(equalTo: view.trailingAnchor)
])
view.subviews.forEach {
[=10=].translatesAutoresizingMaskIntoConstraints = false
}
}
}