WatchOS警告:从层次结构中删除时拒绝resignFirstResponder

Gar*_*abo 6 xcode swift apple-watch watchos wkinterfacecontroller

我在Xcode中收到此错误.

2018-02-26 07:13:22.326888-0500 Watch Extension[1298:2691330] [View] First responder warning: '<SPInterfacePicker: 0x14dc1740; frame = (76 0; 58 44); gestureRecognizers = <NSArray: 0x14dcd8a0>; layer = <CALayer: 0x14dc1910>>' rejected resignFirstResponder when being removed from hierarchy

我InterfaceController有4个WkInterfacePickerS和它似乎像这个错误可能与呈现警报(当用户保存数据),但我不知道.

有没有人见过这个?

我的代码:

if successSaving == true {
    DispatchQueue.main.async {
        WKInterfaceDevice.current().play(.success)
        self.showSuccessAlertWith(message: "Workout Saved, Stats Added.")
    }

    func showSuccessAlertWith(message: String){

        let action1 = WKAlertAction(title: "OK", style: .default) {
            WKInterfaceController.reloadRootPageControllers(withNames: ["InterfaceController"],
                                                                            contexts: nil,
                                                                            orientation: .vertical,
                                                                            pageIndex: 0)
        }
        presentAlert(withTitle: "Success", message: message, preferredStyle: .alert, actions: [action1])
    }
}
Run Code Online (Sandbox Code Playgroud)

Gar*_*abo 2

我认为发生的情况是,WKInterfacePicker很容易意外地处于“仍在编辑”状态,换句话说,如果您滚动浏览值,然后点击“完成”按钮(调用 ),reloadRootPageControllers系统会认为用户仍处于“仍在编辑”状态。编辑选择器值的过程。

我只能要求用户更加小心(不太可能)...但我不确定如何解决,在 iOS 中,根据我的测试,等效的调用resignFirstResponder. “Neither resignFocus”或“设置为 false”会阻止记录此消息。isActive