2012-10-17 89 views
0

我用UIImageView init.I添加滾動視圖。我在UIImageView上添加一個按鈕。當我縮放圖像時,我的按鈕也執行縮放。如何縮放圖像而不是按鈕。如何提前爲您提供感謝。如何在iPhone中縮放圖像而不縮放子視圖?

enter image description here

+0

請檢查 [http://stackoverflow.com/questions/8275234/how-do-i-add-a-scrollable-zoomable-image-into-the- MAINVIEW-XIB-對的一實用基] [1] [1]:http://stackoverflow.com/questions/8275234/how-do-i-add-a-scrollable-zoomable -image-into-mainview-xib-a-utility-base –

+0

Hello Bharathi D,Thanks for quick reply but thi s沒有解決我的問題,因爲當我放大圖像然後在UIIMageView中實際子視圖的按鈕也zoom.I想要一種方式,我的按鈕不會縮放以及其在圖像上的位置將保持相同。提前感謝。 –

+0

這個問題的任何相關代碼塊? –

回答

0

添加按鈕上imageScrollView上海華盈的imageScrollView後,使該按鈕不滾動視圖的子視圖。

+0

你能不能更好地理解它..我沒有正確理解它。 –

2

將您不希望受到UIScrollView影響的按鈕和任何其他視圖放大到與UIScrollView相同的水平。以下是爲此設置的示例視圖層次結構。

enter image description here

滾動視圖和任何在它裏面會放大(在這種情況下,圖像視圖)。 在滾動視圖下方的UIView(在這種情況下,帶有Default.png圖像的圖像視圖)在縮放滾動視圖時不會縮放。

編輯:

要使按鈕保持相對於圖像的同一位置在它添加作爲一個子視圖到您的滾動視圖,添加UIScrollViewDelegate到視圖控制器標題。在您的視圖控制器實現中:捕獲viewWillAppear中的初始UIButton幀,並使用滾動視圖委託scrollViewDidZoom方法更新按鈕幀,以便保持原位。這也將允許按鈕在平移時與圖像一起移動。

下面是更新視圖結構:

enter image description here

適用的視圖控制器代碼段:

@interface MyViewController() { 
    CGRect initialButtonFrame; 

    ... 
} 

-(void)viewWillAppear:(BOOL)animated{ 
    [super viewWillAppear:animated]; 

    initialButtonFrame = self.button.frame; 

    ... 
} 

- (void)scrollViewDidZoom:(UIScrollView *)sv 
{ 

     self.button.frame = CGRectMake((initialButtonFrame.origin.x * self.scrollView.zoomScale), 
           (initialButtonFrame.origin.y * self.scrollView.zoomScale), 
           initialButtonFrame.size.width, 
           initialButtonFrame.size.height); 

... 
} 

這裏有幾個表示按鈕圖像停留在相對於它放置在適當位置的圖片。請注意,當未放大(第一幅圖像)和放大(第二幅圖像)時,按鈕原點位於靠近消防員外套中心底部的紅色區域的左上角。

enter image description here

enter image description here

+0

感謝您的關注,但如果我在任何其他視圖上添加按鈕,那麼它將不會縮放,但圖像會縮放,並且按鈕相對於圖像的位置也會發生變化。我希望圖像縮放,按鈕不會縮放(按鈕的大小保持不變),按鈕相對於圖像的位置保持不變。謝謝。 –

+0

感謝您的建議,但我已經嘗試過了。我需要改變按鈕相對於圖像的位置。如果我按照您的要求操作,那麼按鈕將顯示在屏幕上,並且圖像將在其後縮放,因此按鈕在圖像上的位置不會改變作爲圖像放大。 –

+0

謝謝bobnoble ...但它的位置不會適當地改變。如果圖像上有紅色標記,我在圖像上添加一個按鈕,因爲按鈕的角落會觸摸紅色標記。然後,當我放大圖像時,按鈕會改變其位置,紅色標記和按鈕會移開。所以這並不能解決問題。我需要在縮放時同時保留(紅色標記和按鈕)。 –