4

我們在我們的最新項目中有一個水平圖視圖。它包含級別標記作爲UICollectionViewCells和各種UICollectionReusableViews以獲得有趣的裝飾。是否可以將UICollectionView作爲一個單元縮放?

我們希望能夠放大/縮小(這是一個很大的地圖)。我曾希望我可以利用內部的UIScrollView來做到這一點,但是,你不能放大自己......只有一個子視圖。

有沒有辦法在單獨縮放和重新放置每個元素時進行此操作?感覺它應該是一件普通的事情,因此可以使用更「內置」的解決方案。

+0

嗨,你解決了你的問題?我有同樣的問題,謝謝。 –

+0

我們手動使佈局無效並遍歷視圖層次結構並縮放每個元素。 – MobileVet

+0

這裏同樣的問題。你可以發佈你的解決方案作爲這個問題的答案,以便其他訪問者可以立即找出解決方案嗎? – fatuhoku

回答

0

你有沒有想過將UICollectionView嵌入到UIScrollView? 這聽起來有些簡單,但 我跑了類似的問題,試過這個,是的,它的工作。

您必須將UICollectionView的框架設置爲自己的上下文大小 (從UICollectionViewLayout調用collectionViewContentSize), 這樣的CollectionView不會再滾動。 它也禁用了所有的單元重用的東西,所以這可能不是你想要的。 但另一方面,有些用例比較便宜且速度更快, 預先呈現所有視圖,而不是必須調用每個滾動移動的dequeueReusableCellWithReuseIdentifier: 。也許你的地圖應用程序可以從這樣的事情中受益。

我確信有更復雜的解決方案可能,其中外滾動視圖 只進行縮放並且集合視圖負責滾動。 也許子類化UIScrollView並返回爲panGestureRecognizer零可以工作, 但這只是一個猜測。

+0

謝謝,我們確實考慮過這一點,但電池再利用是一個問題。 – MobileVet

相關問題