私は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]];
}
}
どんなアイデアでも大歓迎です。ありがとうございました。