1

UIImpactFeedbackGeneratorでタイマーを初期化しTimeInterval=1.0ます。数秒後、下記のように を呼び出し、deinitHapticFeedback()次のビュー コントローラーに移動しますが、フィードバックは停止せず、新しい VC が表示されてから約 10 秒間発生し続けます。

(また、 に電話deinitHapticFeedback()してみましviewWillDisappear(_ animated: Bool)たが、同じことが起こります。)

a のより最適な deinit 関数について何か考えはありUIFeedbackGeneratorますか?

private var feedbackGenerator: UIImpactFeedbackGenerator? = nil

private func generateHapticFeedback() {
    feedbackGenerator = UIImpactFeedbackGenerator(style: .medium)
    feedbackGenerator?.prepare()
    DispatchQueue.main.async {
        self.feedbackGenerator?.impactOccurred()
    }
}

private func deinitHapticFeedback() {
    feedbackGenerator = nil
}

前もって感謝します!

4

1 に答える 1