2013-08-22 26 views
0

我使用Apple示例代碼LargeImageDownSizing查看我的大圖片。此代碼允許放大到無限級別並在某個級別縮小。LargeImageDownSizing蘋果示例代碼 - 限制縮放級別

但一些如何,我無法限制在放大和縮小,它有它具有類似於性質滾動型:

self.maximumZoomScale = 5.00; 
self.minimumZoomScale = .25f; 

當我試圖改變上述數值只是沒有做任何東西,我仍然可以放大它無限。任何人都可以幫助我,我需要限制放大和縮小水平。

謝謝:)

+0

只是驗證了上面的代碼。它似乎在我的最後工作。你只玩這些值或其他東西? – aToz

+0

是否可以限制縮進和縮小?我在這裏沒有做任何其他事情。 –

+0

是的!在ImageScrollView.m類 - 步驟I遵循是,下載樣本>改變了這些值 「self.maximumZoomScale = 2.00f; self.minimumZoomScale = 1.00F」。它按預期工作。 – aToz

回答

0

只是一個猜測,我做到了,在我的代碼也和它的工作,我想建議 -

的UIScrollView的類可以有必須採取UIScrollViewDelegate協議委託。

進行縮放和平移工作,委託必須實現viewForZoomingInScrollView:和另外scrollViewDidEndZooming:withView:atScale:maximum (maximumZoomScale)minimum (minimumZoomScale)縮放比例必須是不同的。

或者

的iOS 5.1 SDK(和一些前)下

,這是可能的手勢識別添加到UIScrollView的,並能夠有它在被內置到的UIScrollView與panGestureRecognizer和pinchGestureRecognizer一起工作。

的iOS 6.0 SDK下,顯然是不再支持真正的這種行爲。相關文件(https://developer.apple.com/library/ios/navigation/)不那麼大明確禁止的行爲,因爲它確實定義什麼的UIScrollView將用於可能會或可能不會進行平移和捏相關的觸摸做。

由於滾動視圖沒有滾動條,它必須知道觸摸信號是否打算向滾動與意圖,以跟蹤內容的子視圖。爲了做出這個決定,它通過啓動一個定時器暫時攔截一個觸發事件,並且在定時器觸發之前,看看觸摸手指是否進行任何移動。如果沒有位置的顯著改變定時器觸發,滾動視圖將跟蹤事件的內容視圖的觸摸子視圖。然後,如果用戶之前定時器結束拖動手指遠遠不夠,滾動視圖取消在子視圖的任何跟蹤,並進行滾動本身。子類可以覆蓋touchesShouldBegin:withEvent:方法inContentView :, pagingEnabled,和touchesShouldCancelInContentView:方法(其由滾動視圖調用)來影響滾動視圖如何處理滾動手勢。