Проблемы с распознаванием жестов в подвиде при масштабировании / прокрутке, отличном от 1: 1 - PullRequest
0 голосов
/ 14 февраля 2012

У меня есть UIScrollView, на котором я также создал распознаватели жестов.Нажмите, дважды нажмите, два пальца и т. Д. В представлении прокрутки я создаю несколько других UIViews.Думайте о каждом из этих видов как об объектах рисования.Круг, квадраты, кнопки, изображения и т. Д. Каждое из подпредставлений я могу перемещать, поворачивать, нажимать и т. Д., И все они работают по большей части.

Если представление Scaling Scroll View не на 100% (1-1) тогда панорамирование подпредставлений становится немного отрывочным.Вы всегда можете нажать на них, чтобы выделить их, хотя панорамирование, вращение и т. д. ненадежны.Обычно, если я пытаюсь панорамировать выбранное подпредставление, оно панорамирует представление прокрутки.Иногда это работает, иногда нет.Установите масштаб на 100% или отключите прокрутку (установите масштаб на тот же минимум / максимум), я могу делать то, что ожидается.

Любые предложения о том, с чего начать устранение неполадок в этом?

1 Ответ

0 голосов
/ 28 февраля 2012

Не 100%, почему это работает, но этот код заставил проблему исчезнуть. Мне пришлось создать подкласс UIScrollView, переопределить (BOOL)touchesShouldCancelInContentView:(UIView *)view и вернуть NO, если представление было чем-то, кроме класса UIView для UIScrollView.View

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

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