因此,我有这段代码,基本上可以创建一个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向他们提供禁用“辅助功能缩放”的选项。确保提供另一种激活功能的方法,以便缩放和其他辅助功能的用户可以充分享受您的应用程序。