我正在尝试以编程方式更改场景时的条形码'已被发现,但我一直都有错误...
导入的模块:
import UIKit
import AVFoundation
import SpriteKit
import SceneKit
代码:
if metadataObj.stringValue != nil {
messageLabel.text = "Found: " + metadataObj.stringValue
myBarcode = metadataObj.stringValue
let transition = SKTransition.reveal(with: .down, duration: 1.0)
let nextScene = WebLogger(size: scene!.size) *<-- use of unresolved identifier 'scene'
nextScene.scaleMode = .AspectFill
scene?.view?.presentScene(nextScene, transition: transition) *<-- use of unresolved identifier 'scene'
}
通过添加
修复了问题1var scene = SKScene()
第2期 通话中的参数标签不正确(有&#39;尺寸:&#39;,预期&#39;编码器:&#39;)
var scene = SKScene()
if metadataObj.stringValue != nil {
messageLabel.text = "Found: " + metadataObj.stringValue
myBarcode = metadataObj.stringValue
let transition = SKTransition.reveal(with: .down, duration: 1.0)
let nextScene = WebLogger(size: scene!.size) *<-- Incorrect argument label in call (have 'size:', expected 'coder:')
nextScene.scaleMode = .AspectFill
scene?.view?.presentScene(nextScene, transition: transition)
}
答案 0 :(得分:0)
行。我想你可能不得不从你当前的设置中稍微退一步。
您应该搜索教程的关键字/关键技术是:
UIViewControllers
。UIViewControllers
之间导航的方式。您可以连接segue,以便在您点击按钮时自动发生,或者您可以从代码中手动调用segue(这可能是您所希望的)。我创建了一个包含两个UIViewControllers
(FirstViewController和SecondViewController)的项目。
在他们之间,我已经添加了UIStoryboardSegue
,你可以看到。为此,您按住ctrl,然后从第一个UIViewController
上方的黄色框(如下图所示)拖动到第二个UIViewController
上的任意位置,并选择您的演示风格。
请记住给你的segue一个标识符,我们需要在一秒钟内完成。为此,请选择segue并查看屏幕右侧。
最后一步是调用segue。我在FirstViewController中的按钮中添加了IBAction
,如下所示:
@IBAction func navigateToPageTwo(_ sender: UIButton) {
performSegue(withIdentifier: "mySegue", sender: nil)
}
(见......我告诉你标识符很重要;))。
如果你这样做,那么你应该能够从一个UIViewController
导航到另一个。{/ p>
在您的情况下,您应该在QRScannerController
和WebLogger
之间添加一个segue,然后执行以下操作:
if metadataObj.stringValue != nil {
messageLabel.text = "Found: " + metadataObj.stringValue
myBarcode = metadataObj.stringValue
performSegue(withIdentifier: "nameOfYourSegue", sender: nil)
}
如果您需要在两个UIViewControllers
之间传递数据,则应该查看方法prepare(for segue: UIStoryboardSegue, sender: Any?)
(例如,查看this question and answer)
希望能为你提供一些工作。