2013-10-09 28 views
0

當用戶選擇的CollectionView細胞,我的動畫,該單元的框架成長和重新定位,使其坐在有這個尺寸/位置:轉換UICollectionViewCell的原點的ViewController的框架

CGRectMake(114, 148, 540, 620) 

這種運作良好,如果我沒有向下滾動到collectionView中的其他單元格。當我在較低的單元格上嘗試此操作時,它仍然具有動畫效果,但單元格開始拍攝,因此它的y座標可以在148處用於collectionView。

我嘗試了各種各樣的convertRect和convertPoint的變體,但我無法概念化正確的解決方案。

我需要做什麼才能將所選單元格的y值轉換爲超視圖座標系中的等效值148?

編輯:爲了避免混淆

我就在底部的電池接頭我的CollectionView的(意思是我向下滾動幾行),這是原點:

(x=394.5, y=4114) 

的X這邊獨好,但我對y有問題。我想爲我剛剛選擇的單元格設置動畫,以使其看起來好像它的y座標位於外部視圖的148處。就像表單模式視圖控制器一樣。但是將該起始點設置爲148會導致單元格飛到collectionView的頂部,因爲它在4114處一路向下。我怎樣才能獲得對用戶來說看起來像148的正確的y值,但實際上會是某種東西更接近細胞的原始來源?

編輯2:PIC

enter image description here

+0

你在哪裏設置幀單元格? –

+0

'didSelectItemAtIndexPath' – Lizza

+0

和didSelectItemAtIndexPath在每次滾動時都會調用? –

回答

2

如果我理解正確,你想做的事那麼什麼樣的解決方案很簡單:你的電池的「Y」的位置應該是self.collectionView.contentOffset.y + 148

CGRectMake(114, self.collectionView.contentOffset.y + 148, 540, 620); 

這將適用於任何給定的滾動值。

希望這會有所幫助!

+0

DOH!那就是訣竅。謝謝soooooo了。 – Lizza

+0

您的歡迎。總是樂於幫助! – LuisCien

相關問題