IOS: жест для большего количества представлений - PullRequest
0 голосов
/ 04 января 2012

У меня есть этот код:

UISwipeGestureRecognizer *recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(rightSwipeHandle:)];
[recognizer setNumberOfTouchesRequired:1];
[view1 addGestureRecognizer:recognizer];
[view2 addGestureRecognizer:recognizer];
[view3 addGestureRecognizer:recognizer];
[recognizer release];

- (void)rightSwipeHandle:(UISwipeGestureRecognizer*)gestureRecognizer{ //do something}

он распознает пролистывание только в view3, почему?и как я могу решить эту проблему?Должен ли я сделать новую салфетку для каждого просмотра?но у меня 20 просмотров.

1 Ответ

2 голосов
/ 04 января 2012

Если у вас есть 20 представлений, они могут быть сохранены в массиве или что-то? Если да, вы пробовали что-то подобное?

 for (unsigned i = 0; i < [yourViewsArray count]; i++){
    UIView *view = [yourViewsArray objectAtIndex:i]; 
    UISwipeGestureRecognizer *recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(rightSwipeHandle:)];
    [recognizer setNumberOfTouchesRequired:1];
    [view addGestureRecognizer:recognizer];
    [recognizer release];
 }

При этом вы добавляете новый распознаватель для каждого представления

...