gpt4 book ai didi

iphone - 将 UICollectionViewCell 的原点转换为 ViewController 的框架

转载 作者:行者123 更新时间:2023-11-28 22:24:45 26 4
gpt4 key购买 nike

当用户选择一个 collectionView 单元格时,我会为该单元格的框架设置动画以使其增长并重新定位,以便它的大小/位置如下:

CGRectMake(114, 148, 540, 620)

如果我没有向下滚动到 collectionView 中的其他单元格,这会很有效。当我在较低的单元格上尝试此操作时,它仍然具有动画效果,但单元格会向上移动,因此 collectionView 的 y 坐标可以为 148。

我已经尝试了 convertRect 和 convertPoint 的各种变体,但我无法概念化正确的解决方案。

我需要做什么才能将所选单元格的 y 值转换为相当于父 View 坐标系中的 148?

编辑:减少混淆

我点击 collectionView 底部的一个单元格(意味着我向下滚动几行),这是原点:

(x=394.5, y=4114)

这里的 x 没问题,但我的 y 有问题。我想为我刚刚选择的这个单元格制作动画,使其看起来好像它的 y 坐标位于外部 View 的 148 处。就像表单模态视图 Controller 一样。但是将原点设置为 148 会导致单元格飞到 collectionView 的顶部,因为它一直在 4114 处下降。我怎样才能获得对用户来说看起来像 148 的正确 y 值,但实际上会是一些东西更接近细胞的原始起源?

编辑 2:图片

enter image description here

最佳答案

如果我正确理解了您想做什么,那么解决方案很简单:单元格的“y”位置应该是 self.collectionView.contentOffset.y + 148

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

这将适用于任何给定的滚动值。

希望这对您有所帮助!

关于iphone - 将 UICollectionViewCell 的原点转换为 ViewController 的框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19277958/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com