UISwipeGestureRecognizer на одной половине представления - PullRequest
0 голосов
/ 20 марта 2012

У меня проблема с UISwipeGestureRecognizer, и я не могу найти решение для нее.

Я хочу использовать UISwipeGestureRecognizer только на одной половине вида. Но я также хочу использовать кнопки на моем виде.

Вот что я сделал.

У меня есть UIView с именем firstView, то есть 768 x 1024 px с кнопками на нем.

Теперь я хочу добавить UIView или UIImageView поверх firstView с именем secondView, что составляет 768 x 512 пикселей.

Размах будет работать, но мои кнопки под secondView (кнопки включены firstView) не будут работать.

Какую функцию я пропустил, чтобы оба представления отвечали?
Или есть еще лучший способ, чем я описал выше?

Мой код прокрутки:

UIImageView *secondView = [[[UIImageView alloc] initWithFrame:
                              CGRectMake(0,0,768,512)] autorelease];
//UIView *secondView = [[[UIView alloc] initWithFrame:CGRectMake(0,0,768,512)] autorelease];

secondView.userInteractionEnabled = YES;    

[firstView addSubview:secondView];

oneFingerSwipeLeft = [[[UISwipeGestureRecognizer alloc] initWithTarget:self 
                         action:@selector(swipeRecognition:)] autorelease];
[oneFingerSwipeLeft setDirection:UISwipeGestureRecognizerDirectionLeft];
[secondView addGestureRecognizer:oneFingerSwipeLeft];

1 Ответ

0 голосов
/ 02 апреля 2012

Я нашел решение для себя. Я поставил экран в 4 просмотра. Теперь я могу назначить каждому виду свое распознавание жестов.

    // set CGRect for downLeftView
    downLeftView = [[[UIImageView alloc] initWithFrame:CGRectMake(0,512,384,512)] autorelease];

    // set CGRect for downRightView
    downRightView = [[[UIImageView alloc] initWithFrame:CGRectMake(384,512,384,512)] autorelease];

    // set CGRect for upRightView
    upRightView = [[[UIImageView alloc] initWithFrame:CGRectMake(0,0,384,512)] autorelease];

    // set CGRect for upLeftView
    upLeftView = [[[UIImageView alloc] initWithFrame:CGRectMake(384,0,384,512)] autorelease];
...