因此,我有这段代码,基本上可以创建一个UIPanGestureRecognizer并将其添加到视图中。在目标方法中,我只是打印触摸次数。在正常情况下可以正常工作;并打印正确的触摸次数。

但是,如果打开了“设置->辅助功能->缩放”,则三指触摸失败。

- (void)viewDidLoad
{
  [super viewDidLoad];
  UIPanGestureRecognizer *tempGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handleTempGesture:)];
  tempGesture.minimumNumberOfTouches = 1;
  tempGesture.maximumNumberOfTouches = 3;
  [tempGesture setDelegate:self];
  [self.view addGestureRecognizer:tempGesture];
}

- (void)handleTempGesture:(UIGestureRecognizer *)recognizer
{
  NSUInteger touches = recognizer.numberOfTouches;
  NSLog(@"Touches Count: %i", (int)touches);
}

有没有解决的办法,即无需关闭缩放功能。

PS:即使是三指UITapGestureRecognizer也无法正常工作。

最佳答案

没有。但是,您可以提醒用户注意冲突,并使用 UIAccessibilityRegisterGestureConflictWithZoom() API向他们提供禁用“辅助功能缩放”的选项。确保提供另一种激活功能的方法,以便缩放和其他辅助功能的用户可以充分享受您的应用程序。

10-08 05:56