WKCrownDelegate似乎没有使用Xcode 9 GM

WKCrownDelegate似乎没有使用Xcode 9 GM

问题描述:

我已经尝试了下面的代码,既针对iOS 10.0/Watch OS 3.0和iOS 11.0/Watch OS 4.0,也在模拟器和我的Watch OS 4设备上进行了测试。似乎没有什么可以触发代理方法crownDidRotateWKCrownDelegate似乎没有使用Xcode 9 GM

简单的界面,一个标签连接到插座。我知道它已连接,因为我更改了awake方法中的文本。旋转表冠时,打破代表方法永远不会停止。

任何想法?

import Foundation 
import WatchKit 
class InterfaceController: WKInterfaceController, WKCrownDelegate { 
    var value = 1 
    @IBOutlet var label: WKInterfaceLabel! 
    override func awake(withContext context: Any?) { 
     super.awake(withContext: context) 
     label.setText("Yeah?") 
     crownSequencer.delegate = self 
     crownSequencer.focus() 
    } 
    func crownDidRotate(_ crownSequencer: WKCrownSequencer?, rotationalDelta: Double) { 
     label.setText("Rotational: \(rotationalDelta)") 
    } 
} 

我有同样的经历。作为一个黑客,我在willActivate()中添加了另一个调用crownSequencer.focus()的函数,现在我正在看事件。 (xcode 9.0 gm,ios 11.0 g,watchos 4.0 gm)