2011-04-22 25 views
4

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

回答

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;  
} 
+0

我创造了我的UIScrollView与界面生成器,我敢肯定,我做了所有以上,除了IB。我可以移动拖动东西,但是当图像说,比UIScrollView小,我根本无法移动它。 – 2011-04-22 22:17:05

+0

嗯...如何将图像视图添加到更大的UIView(比滚动视图更大),并使用该UIView作为滚动视图的contentView? – 2011-04-23 05:48:49