我正在创建一个专门设计用于使用Switch access玩的游戏。游戏根据关卡动态构建按钮网格,以模仿 iPad 图标的网格布局。由于切换访问的性质,我不能有一个返回按钮来返回主菜单,因为这将在游戏中被视为一个按钮并包含在用户将执行的选项卡中。
理想情况下,我希望用户能够通过长按其中一个开关按钮返回主菜单,我尝试将长按手势识别器附加到按钮被绘制到的视图上,这在模拟器但没有按下开关访问按钮,然后我尝试将其附加到每个按钮,这再次在模拟器中有效,但在实际测试中无效。
这是我在模拟器中使用的代码。
将 UILongPressGestureRecognizer 添加到按钮。
UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(UILongPressBack:)];
[self.button addGestureRecognizer:longPress];
长按上调用的方法。
- (IBAction)UILongPressBack:(UILongPressGestureRecognizer*)sender {
if (sender.state == UIGestureRecognizerStateEnded) {
MainViewController * mainPage = [[MainViewController alloc]init];
[self presentViewController:mainPage animated:YES completion:nil];
}
}
据我了解,开关访问控制就像蓝牙键盘一样工作(这是我目前正在测试的方式)。在设置开关访问按钮时,我将每个按钮映射到某个键盘键。
有谁知道我怎样才能让这个工作?我曾考虑在游戏进行时禁用按钮并在关卡之间重新启用它,但如果用户愿意,他们无法选择返回主菜单中间游戏,我觉得这将是糟糕的设计。
谢谢你的帮助。