2017-08-04 44 views
0

我正在製作自定義貼紙包。它是一個iMessage擴展應用程序。我是繼承UICollectionView而不是使用基本的MSMessagesViewController。所以只有當我在展開視圖中選擇人字形圖標才能切換回緊湊視圖時,纔會發生這種情況。發生了什麼事(你可以在下面的gif中看到)貼紙是在視圖中的位置,並似乎設置在他們的位置,但一秒鐘後,他們似乎重新調整自己的位置......有什麼在CollectionView中我應該這樣做以防止這種情況發生?CollectonView加載到視圖中後「重新調整」原點

我開始認爲它可能是一個錯誤,因爲包含文本字段,iMessage應用程序抽屜圖標,心臟圖標和相機圖標的標題欄似乎與換檔次數相同。

enter image description here

here is the code from github

+0

的觀點,從展開的視圖往下滑,只是爲了澄清後調整.. –

回答

1

與您的代碼的問題是,contentInset在您的通話layout()您的CollectionView是從原來的6位像素關閉。這就是動畫完成後動畫調整6個像素的原因。

只要改變UIEdgeInsets()layout()電話裏面的StickerCollectionVC到:

self.collectionView?.contentInset = UIEdgeInsets( top: screenW * 0.1 - 6, 
                  left: screenW * 0.1, 
                  bottom: 20 + (screenW * 0.1), 
                  right: screenW * 0.1) 
+0

我不知道爲什麼這個作品,但還是謝謝你真是太棒了! 爲什麼原始位置與動畫之後不同? –