2012-08-30 153 views
2

我是新的iphone开发。我想放大的ImageView的,我使用下面的代码,捏缩放 - 不能保持图像位置固定在缩放

- (void)viewDidLoad 
{ 

    [super viewDidLoad]; 

// Do any additional setup after loading the view, typically from a nib. 

    self.scrollViewOutlet.minimumZoomScale=0.5; 

    self.scrollViewOutlet.maximumZoomScale=4.0; 

    self.scrollViewOutlet.contentSize=self.imagetobeZoomed.image.size; 

    self.scrollViewOutlet.clipsToBounds=YES; 

    self.scrollViewOutlet.delegate=self; 

} 

-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{ 


    return self.imagetobeZoomed; 
} 

通过使用上面的代码,我能够缩放图像,但我的问题是我的形象运行到上放大左下角。这是我无法保持我的图像位置固定在屏幕的中心。

我想图像位置要保持固定的缩放。对此有何帮助?

回答

6

最后我找到了解决办法我self.Here是图像缩放完整的示例代码:)在这里,图像位置保持固定的放大和缩小。

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 
    self.scrollViewOutlet.minimumZoomScale=0.5; 
    self.scrollViewOutlet.maximumZoomScale=4.0; 
    self.scrollViewOutlet.contentSize=CGSizeMake(self.imagetobeZoomed.frame.size.width,  self.imagetobeZoomed.frame.size.height); 
    self.scrollViewOutlet.clipsToBounds=YES; 
    self.scrollViewOutlet.delegate=self; 
} 

-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView 
{ 
    return self.imagetobeZoomed; 
} 


-(void)scrollViewDidZoom:(UIScrollView *)scrollView 
{ 
    UIView *subView=[scrollView.subviews objectAtIndex:0]; 
    CGFloat offsetX = (scrollView.bounds.size.width > scrollView.contentSize.width)? 
    (scrollView.bounds.size.width - scrollView.contentSize.width) * 0.5 : 0.0; 
    CGFloat offsetY = (scrollView.bounds.size.height > scrollView.contentSize.height)? 
(scrollView.bounds.size.height - scrollView.contentSize.height) * 0.5 : 0.0; 
    subView.center = CGPointMake(scrollView.contentSize.width * 0.5 + offsetX, 
          scrollView.contentSize.height * 0.5 + offsetY); 

} 
+0

以下我正在使用缩放手势来放大/缩小图像视图。但我希望当图像视图的比例超过屏幕大小,然后滚动过程发生。但UISCrollViewDelegate方法不能调用即使我设置委托滚动视图在nib文件。 – Leena

+0

钍上面的代码工作进行缩放和当图像视图的比例更多的则是屏幕大小,然后滚动过程中也发生 – Raj

+0

可能是完全正常的,再次尝试设置滚动视图代表 – Raj

1

试试看NYOBetterZoom。这是你肯定的答案。 :)

+0

我会检查一次并回复您。 – Raj

+0

还有其他我可以遵循的样本吗?因为我觉得提供的样本有点复杂,因为我现在是初学者。 – Raj

+0

正如我所说我能够使用我的代码进行缩放。唯一的问题是我无法保持图像位置的固定。 – Raj