因此,在watchOS 3.0中,您现在可以获得数字表冠的旋转。我设法在InterfaceController中使用crownDidRotate函数。 但我无法从SKScene Class中获得表冠的旋转。 任何人都可以帮助我,我现在很迷茫吗? 感谢。
答案 0 :(得分:7)
要在接口控制器中获取crownDidRotate
个调用,必须在接口控制器中采用WKCrownDelegate
协议,并将接口控制器设置为其crownSequencer
crownDidRotate
}}。
要在其他类中调用crownSequencer
,请在该类中采用delegate
协议,并将该类的实例设置为接口控制器class InterfaceController: WKInterfaceController {
@IBOutlet var spriteGizmo: WKInterfaceSKScene!
override func awake(withContext context: AnyObject?) {
super.awake(withContext: context)
let scene = MyScene(fileNamed: "MyScene")
spriteGizmo.presentScene(MyScene(fileNamed: "MyScene"))
}
}
的{{3}} }。
据推测,您已经有一些这样的代码来设置您的SpriteKit场景:
MyScene
如果您在let scene = MyScene(fileNamed: "MyScene")
spriteGizmo.presentScene(MyScene(fileNamed: "MyScene"))
crownSequencer.delegate = scene
类中声明了WKCrownDelegate
一致性,只需添加一行以将其设置为接口控制器的冠序器的委托:
WKInterfaceSKScene
(或者,您可以在故事板中设置WKInterfaceSKScene
的场景。在这种情况下,您仍然可以使用IBOutlet
从您的界面控制器中引用awake(withContext:)
。然后在PROCEDURE get_something3(name IN VARCHAR2,
address IN VARCHAR2,
var IN VARCHAR2,
result OUT VARCHAR2){
....
SELECT *
FROM multisource
WHERE col1 = nvl(name,col1)
and col2 = nvl(address,col2)
and col3 = nvl(var,col3);
....
,您可以通过该出口访问该场景并将其设置为皇冠代表。)
答案 1 :(得分:0)
在watchOS 3中,任何对象对象都可以通过将它们设置为委托来获得数字皇冠事件:</ p>
let crownSequencer = WKExtension.shared().rootInterfaceController!.crownSequencer
crownSequencer.delegate = self
crownSequencer.focus()
然后通过实现:
回读该值func crownDidRotate(_ crownSequencer: WKCrownSequencer?, rotationalDelta: Double)
调用focus()
非常重要,尤其是对于UI适合屏幕并且不需要实际滚动的控制器。