如何在UIScrollView中移动UIImageView?

5

在我的应用程序中,我有一个UIImageView位于UIScrollView内部。我想要缩放和拖动UIImageView。我已经成功实现了缩放,但是我无法找到一种使用touchesMoved在UIScrollView内部拖动图像的方法。我已经在Google上搜索过,但似乎我找到的唯一方法只适用于iOS 3.0+,但在iOS 4.0+中已经过时。那么我该如何使用手指拖动位于UIScrollView内部的图像呢?

1个回答

0

你不需要自己进行任何触摸检测。UIScrollView 可以处理一切。

这是一个例子:

- (void)viewDidLoad
{
    [super viewDidLoad];

    scrollView = [[UIScrollView alloc] initWithFrame:self.view.bounds];
    scrollView.delegate = self;
    [self.view addSubview:scrollView];

    imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"test.jpg"]];

    scrollView.contentSize = imageView.bounds.size;
    [scrollView addSubview:imageView];

    float minScale  = scrollView.frame.size.width  / imageView.frame.size.width;
    scrollView.minimumZoomScale = minScale;
    scrollView.maximumZoomScale = 2.0;
    scrollView.zoomScale = minScale;
}

别忘了添加这个委托方法以启用缩放:

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
    return imageView;    
}

我使用Interface Builder创建了UIScrollView,我很确定我做了以上所有操作,除了使用IB。当图像比UIScrollView小时,我可以移动拖动周围的内容,但无法移动它。 - Andy Ibanez
嗯...把图像视图添加到一个比滚动视图更大的UIView中,然后将该UIView用作您的滚动视图的内容视图如何? - Joseph Lin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接