目标C:在UIScrollView上拖放

时间:2012-01-03 10:22:16

标签: objective-c xcode ipad

我正在制作一本书应用程序,我使用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 :(得分:0)

尝试使用canCancelContentTouches属性延迟触摸,或者尝试将每个单独的图像作为单独的视图进行子类化,并在此类中实现所有这些图像的触摸。

答案 1 :(得分:0)

当您检测到您正在开始拖动项目时,我必须禁用滚动视图上的滚动(我使用延迟选择器来确定开始拖动操作),并在释放触摸后重新启用滚动。

禁用滚动使用...

[scrollView setScrollEnabled:FALSE];

答案 2 :(得分:-1)

我使用UILongPressGestureRecognizer,它是视图控制器中的UIGestureRecognizerStateEnded,滚动视图位于其中。