如何在UIScrollView中移动UIImageView?

时间:2011-04-22 03:24:05

标签: iphone objective-c cocoa-touch uiscrollview uiimageview

在我的应用程序中,我在UIScrollView中有一个UIImageView。我想缩放并拖动UIImageView。我设法做缩放但我似乎找不到使用touchesMoved在UIScrollView中拖动图像的方法。我用谷歌搜索过,但似乎我发现的唯一方法只能在iOS 3.0+中使用,但现在在iOS 4.0+中已经过时了。那么如何用我的手指在UIScrollView中拖动图像?

1 个答案:

答案 0 :(得分: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;    
}