2017-08-04 13 views
0

私はカスタムステッカーパックを作っています。 iMessage Extensionアプリです。私は基本的なMSMessagesViewControllerを使用するのではなく、UICollectionViewをサブクラス化しています。コンパクトビューに戻すには、拡大表示でシェブロンアイコンを選択した場合にのみ表示されます。何が起こっているのですか(下のgifで見ることができます)ステッカーはビュー内の場所であり、その場所に設定されているようですが、スプリット秒後に、ステッカーの位置を再調整しているようです... CollectionViewには私はこれを防ぐためにしなければなりませんか?CollectonViewはビューに読み込まれた後に "再調整"されます

テキストフィールド、iMessageアプリの引き出しアイコン、ハートアイコン、カメラアイコンを含むヘッダーバーがシフトと同じ量だけカットされているように見えるので、バグかもしれないと考え始めました。

enter image description here

here is the code from github

+0

... –

答えて

1

コードの問題点は、あなたのlayout()コールでのcollectionViewためcontentInsetが元の位置から6画素オフであることです。そのため、アニメーションが終了してからアニメーションが6ピクセルを調整するのはこのためです。

だけにStickerCollectionVC中にあなたlayout()呼び出しでUIEdgeInsets()を変更:ビューがちょうど明確化のため、拡大図から滑り落ちた後、調整

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

私はこの作業の理由はわかりませんが、感謝あなたはそんなに! 元の位置がアニメーションの後と異なるのはなぜですか? –

関連する問題