Ios 缩放/滚动非1:1的视图时,子视图手势识别问题

Ios 缩放/滚动非1:1的视图时,子视图手势识别问题,ios,uiview,uiscrollview,uigesturerecognizer,uipangesturerecognizer,Ios,Uiview,Uiscrollview,Uigesturerecognizer,Uipangesturerecognizer,我有一个UIScrollView,在上面我还创建了手势识别器。轻触、双击、双指轻触等。在滚动视图上,我创建了几个其他UIView。将这些视图视为图形对象。圆形、正方形、按钮、图像等。我可以平移、旋转、轻触等每个子视图,它们大部分都可以工作 如果缩放滚动视图不是100%(1-1),则平移子视图会有点粗略。尽管平移、旋转等不确定,但您始终可以点击它们以使其高亮显示。通常,如果我尝试平移选定的子视图,它会平移滚动视图。有时有效,有时无效。将缩放设置为100%,或关闭滚动(将缩放设置为相同的最小/最大值

我有一个UIScrollView,在上面我还创建了手势识别器。轻触、双击、双指轻触等。在滚动视图上,我创建了几个其他UIView。将这些视图视为图形对象。圆形、正方形、按钮、图像等。我可以平移、旋转、轻触等每个子视图,它们大部分都可以工作

如果缩放滚动视图不是100%(1-1),则平移子视图会有点粗略。尽管平移、旋转等不确定,但您始终可以点击它们以使其高亮显示。通常,如果我尝试平移选定的子视图,它会平移滚动视图。有时有效,有时无效。将缩放设置为100%,或关闭滚动(将缩放设置为相同的最小/最大值),我可以做预期的事情


关于从何处开始对此进行故障排除,有什么建议吗?

这不是100%的原因,但这是使问题消失的代码。我必须对UIScrollView进行子类化,覆盖
(BOOL)touchesShouldCancelInContentView:(UIView*)视图
,如果该视图不是
UIScrollView.view的
UIView
类,则返回NO

- (BOOL)touchesShouldCancelInContentView:(UIView *)view { 
    BOOL returnVal =  NO;

    if ([view isKindOfClass:[IoScreenEditorContentView class]]) {
        returnVal = [super touchesShouldCancelInContentView:view];
    }
    return returnVal;
}