我有一个UIViewController
(VCA
)可以响应摇动手势:
override func motionBegan(_ motion: UIEvent.EventSubtype, with event: UIEvent?) {
if motion == .motionShake {
print("I'm shaking ...")
}
}
VCA
也有一个类型为“模态呈现”的脚本,它提供了另一个UIViewController(VCB
)。
设置为VCB
后,它的背景颜色为UIColor.clear
,因此您可以看到VCA
的背景。但是,我去VCB
中启动了摇动手势,打印语句“我在摇动...”被触发。
这是为什么?我想在进入motionBegan
时禁止调用VCA
的{{1}}方法。
我在VCB
中尝试了以下操作:
VCB
,但是仍然可以从override var canBecomeFirstResponder: Bool {
return false
}
识别来自motionBegan
的{{1}}方法。
编辑
在VCA
中提供空白的VCB
方法会阻止motionBegan
中的VCB
方法被调用,但这似乎不是正确的方法... >
motionBegan