Цель C: перетаскивание на UIScrollView - PullRequest
1 голос
/ 03 января 2012

Я делаю книжное приложение, и я использовал UIScrollView для подкачки страниц. Все идет довольно хорошо, но когда я начал кодировать функцию перетаскивания изображений, она не работает, но код работает в других моих проектах без UIScrollView.

Можно ли применить функцию перетаскивания к UIScrollView?

вот мой код

    image1 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image1.png"]];
    [image1 setFrame:CGRectMake(2834, 225, 150, 184)];
    [scrollPaging addSubview:image1];

- (void) touchesMoved:(NSSet*)touches withEvent:(UIEvent*)event {
    UITouch *touch = [touches anyObject];   
    CGPoint location = [touch locationInView:self.view];

    image1.center = location;
}

Ответы [ 3 ]

0 голосов
/ 03 января 2012

Хитрость заключается в том, чтобы отключить прокрутку в представлении прокрутки, когда вы обнаружите, что начинаете перетаскивать элемент (я использую отложенный селектор, чтобы определить начальную операцию перетаскивания), и повторно включить прокрутку, как только вы отпустите сенсор.

Для отключения прокрутки используйте ...

[scrollView setScrollEnabled:FALSE];
0 голосов
/ 03 января 2012

Я использую UILongPressGestureRecognizer, и его UIGestureRecognizerStateEnded в контроллере представления, внутри которого находится прокрутка

0 голосов
/ 03 января 2012

Попробуйте отложить касания с помощью свойства canCancelContentTouches или попробуйте создать подклассы для каждого отдельного изображения в качестве отдельного представления и реализовать касания для всех них вместе в этом классе.

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