0

私はUICollectionViewを持っています。セルの 1 つに触れると、その位置からのポップオーバー ビューが表示され、矢印がセルを指し、セルに関する追加情報が表示されます。

デバイスを回転させると、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]];
    }
}

どんなアイデアでも大歓迎です。ありがとうございました。

4

1 に答える 1