У меня есть 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
, когда я нахожусь внутри VCB
.
Я попробовал следующее в VCB
:
override var canBecomeFirstResponder: Bool {
return false
}
но метод motionBegan
из VCA
все еще распознается из VCB
.
РЕДАКТИРОВАТЬ
Предоставление пустого motionBegan
метода в VCB
останавливает вызов motionBegan
метода в VCA
, но это не похоже направильный путь ...
override func motionBegan(_ motion: UIEvent.EventSubtype, with event: UIEvent?) {
}