我有一个有多个视图的应用程序,其中一个是SceneView,正如你在下面看到的。SceneView不是初始视图。用户可以通过从另一个SceneView触发一个段来打开ViewController,但是当我想要向SceneView添加一个导航栏时,出现了一个错误。
那么,如何向sceneView添加导航栏或按钮呢?如果没有办法,我如何从SceneView中删除segue?

发布于 2020-04-22 05:18:46
我找不到在sceneView上添加navigationBar的方法,但我想出了如何在sceneView中添加按钮。如果我们以编程方式创建一个按钮并将该按钮添加到sceneView中,我们就可以通过该按钮进行导航。
这是我们可以做的;
import UIKit
import SceneKit
class ViewController: UIViewController {
var scnView: SCNView?
var exampleScn = SCNScene(named: "ExampleScn")
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
self.scnView = SCNView(frame: self.view.frame)
self.scnView?.scene = exampleScn
self.view.addSubview(self.scnView!)
let button = UIButton(type: .system)
button.tintColor = UIColor.black
button.titleLabel?.font = UIFont(name: "Arial", size: 25)
button.setTitle("Back", for: .normal)
button.sizeToFit()
button.addTarget(self, action: #selector(didPressBack), for: .touchUpInside)
button.center.x = 50
button.frame.origin.y = 20
scnView.addSubview(button)
}
@objc func didPressBack (sender: UIButton!) {
dismiss(animated: true, completion: nil)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}如果我们这样做,结果将如下所示:

https://stackoverflow.com/questions/61351950
复制相似问题