我正在制作定制贴纸包。这是一个iMessage Extension应用程序。我是UICollectionView的子类,而不是使用基本的MSMessagesViewController。所以只有当我在展开视图中选择V形图标以更改回紧凑视图时才会发生这种情况。发生了什么(你可以在下面的gif中看到)是贴纸放在视图中并且看起来设置在它们的位置,但是在一瞬间之后,它们似乎重新调整它们的位置......在CollectionView中是否存在某些内容我应该这样做以防止这种情况?
我开始认为它可能是一个错误,因为包含文本字段,iMessage应用程序抽屉图标,心脏图标和相机图标的标题栏似乎与转换的数量相同。< / p>
答案 0 :(得分:1)
您的代码存在的问题是,contentInset
来电中您的collectionView的layout()
与原始位置相距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)