我有一个 UICollectionView。当我触摸其中一个单元格时,我会从其位置呈现一个弹出视图,箭头指向该单元格,其中包含有关该单元格的一些额外信息。
当我旋转设备时, UICollectionView 会自动重新定位其单元格。
我想做的是自动重新定位我的弹出视图,使其指向与以前相同的单元格(现在位于 UICollectionView 中的不同位置)
我遇到的麻烦是跟踪(找出)我的单元格的新位置是什么,所以我可以从单元格的新位置手动表示弹出视图。
我尝试为单元格附加并存储一个“idString”以进行比较,但这出于某种原因返回了屏幕旋转之前单元格的旧框架
NSArray* visibleCells = [UIAppDelegate.ocollectionView visibleCells];
for (UICollectionViewCell *cell in visibleCells) {
if ([cell.idString isEqualToString:self.idString] ) {
NSLog (@"we have a match!!! %@", cell);
CGRect rectInCollectionView = cell.frame;
rect = [UIAppDelegate.collectionView convertRect:rectInCollectionView toView:[UIAppDelegate.collectionView superview]];
}
}
任何想法表示赞赏。谢谢你。