Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift CollectionView加载到视图后“重新调整”原点_Swift_Uicollectionview_Imessage Extension_Mssticker - Fatal编程技术网

Swift CollectionView加载到视图后“重新调整”原点

Swift CollectionView加载到视图后“重新调整”原点,swift,uicollectionview,imessage-extension,mssticker,Swift,Uicollectionview,Imessage Extension,Mssticker,我正在做一个定制贴纸包。这是一个iMessage扩展应用程序。我正在对UICollectionView进行子类化,而不是使用基本的MSMessageViewController。因此,只有在展开视图中选择V形图标以更改回压缩视图时,才会发生这种情况。你可以在下面的gif中看到的是,标签在视图中的位置,似乎设置在它们的位置,但在一瞬间,它们似乎重新调整了位置……在CollectionView中,我应该做些什么来防止这种情况 我开始认为这可能是一个bug,因为包含文本字段、iMessage应用程序抽

我正在做一个定制贴纸包。这是一个iMessage扩展应用程序。我正在对UICollectionView进行子类化,而不是使用基本的MSMessageViewController。因此,只有在展开视图中选择V形图标以更改回压缩视图时,才会发生这种情况。你可以在下面的gif中看到的是,标签在视图中的位置,似乎设置在它们的位置,但在一瞬间,它们似乎重新调整了位置……在CollectionView中,我应该做些什么来防止这种情况

我开始认为这可能是一个bug,因为包含文本字段、iMessage应用程序抽屉图标、心脏图标和相机图标的标题栏似乎被切断的量与移位量大致相同


代码的问题是,布局调用中collectionView的contentInset与原始位置相差6像素。这就是动画完成后调整6像素的原因

只需将StackerCollectionVC中布局调用中的UIEdgeInSet更改为:


视图在从展开视图向下滑动后进行调整,只是为了澄清……我不知道为什么会这样,但非常感谢!为什么原始位置与动画后不同?
self.collectionView?.contentInset = UIEdgeInsets(   top: screenW * 0.1 - 6,
                                                            left: screenW * 0.1,
                                                            bottom: 20 + (screenW * 0.1),
                                                            right: screenW * 0.1)