Предупреждение WatchOS: отклонено resignFirstResponder при удалении из иерархии

Я получаю эту ошибку в 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])
    }
}

1 ответ

Решение

Я думаю, что происходит то, что WKInterfacePickerИх очень легко случайно оставить в состоянии "все еще редактировать", другими словами, если вы прокрутите значения, затем нажмите кнопку "Готово" (которая вызывает reloadRootPageControllers) система считает, что пользователь все еще находится в процессе редактирования значения средства выбора.

Я могу просто попросить пользователей быть более осторожными (маловероятно)... но я не уверен, как решить, что в iOS будет вызывать эквивалент resignFirstResponder. ни resignFocus ни настройка isActive в false, в соответствии с моим тестированием, предотвратить запись этого сообщения.

Другие вопросы по тегам