UILongPressGestureRecognizer Superview вызывается вместо Subview - PullRequest
1 голос
/ 06 апреля 2011


У меня странная проблема. Я получил Superview с customcontrols в качестве подпредставлений. Это GestureRecognizer как в суперпредставлении, так и в подпредставлении.
Если я нажимаю на подпредставление, вызывается его GestureRecognizer, а при нажатии на суперпредставление вызывается его нажатие.
но при длительном нажатии в подвиде ИНОГДА вызывается GestureRecognizer суперпредставления. Я добавляю GestureRecognizer в те же функции, но с другим отношением.
SuperView

UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapPiece:)];
tapGesture.numberOfTapsRequired = 1;
//contenView is the area where my controls can be
[self.contentView addGestureRecognizer:tapGesture];
[tapGesture release];

UILongPressGestureRecognizer *longTapGesture = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longTapPiece:)];
tapGesture.numberOfTapsRequired = 1;
[self.contentView addGestureRecognizer:longTapGesture];
[longTapGesture release];

подвиды

UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(selectPiece:)];
tapGesture.numberOfTapsRequired = 1;
[self addGestureRecognizer:tapGesture];

UILongPressGestureRecognizer *longPressGesture = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPiece:)];
longPressGesture.numberOfTapsRequired = 1;
[self addGestureRecognizer:longPressGesture];

Может кто-нибудь сказать мне, почему longtap не отвечает на мое подпредставление и как это исправить.
СПАСИБО

1 Ответ

1 голос
/ 01 сентября 2011

получил решение, но это не то, что я хотел, я установил продолжительность элемента управления ниже, чем у суперпредставления [longPressGesture setMinimumPressDuration:0.4]; Но gestRecognizer должен быть независимым

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...