我有一个使用一些触觉反馈的辅助视图控制器。我在每 14 秒循环一次的预定计时器上触发触觉反馈
Timer.scheduledTimer(withTimeInterval: 14, repeats: true) { _ in
self.changeLabel()
}
此计时器调用触发 2 次触觉反馈命中的函数
@objc func changeLabel() {
if counter2 == 1 {
//Haptics
let impactGenerator = UIImpactFeedbackGenerator(style: .medium)
impactGenerator.prepare()
impactGenerator.impactOccurred()
Timer.scheduledTimer(withTimeInterval: 7, repeats: false) { _ in
let impactGenerator = UIImpactFeedbackGenerator(style: .medium)
impactGenerator.prepare()
impactGenerator.impactOccurred()}
//Changing Label
self.mainFocusLabel.text = self.foclabel1Text
self.manifestationImg.sd_setImage(with: URL(string: self.imglabel1URL))
self.counter2 = 2
(还有更多代码,但它们几乎都与这个块相同,唯一的区别是它只是将标签更改为 focuslabel2-10 并使用计数器来识别下一个要更改的标签是什么。
我感到困惑的是——在视图关闭后——振动(显然还有计时器?)仍在继续。我的手机以相同的间隔振动。我还没有看到任何禁用触觉反馈的代码。我想我可以将它添加到另一个视图控制器来解决这个问题。