2012-08-30 156 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