通过多个视图控制器检测摇动手势

Detecting shake gesture by multiple view controllers

我需要在 iOS 中检测摇动手势。我已经做了通常的事情,而且效果很好。问题是我在 UITabBarController 中有多个视图控制器,我希望每个视图控制器都能检测到摇动手势。

在任何视图控制器中摇晃时,我都会切换到特定的选项卡。问题是,如果我在一个视图控制器中摇动并尝试在另一个控制器中摇动,除非在该控制器中执行某些操作,否则不会检测到手势。

我知道我需要设置 becomeFirstResponder 但我需要知道如何将此 属性 设置为 UITabBarController 的当前选项卡,以便摇动手势被识别所有标签。

在基本视图控制器中编写用于检测的代码(通常通过摇动的通知观察器),并且所有控制器都将继承自此。现在您可以编写代码来移动此基本控制器中的特定选项卡。

问题已解决。