Как найти координаты UICollectionViewCell относительно окна приложения

Можно ли перевести координаты UICollectionViewCell's из относительного относительно UICollectionView в соответствие с superview ? До сих пор я не смог перевести координаты UICollectionViewCell's при касании к superview . Вот что я пробовал до сих пор:

 - (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath { UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"CollectionViewCell" forIndexPath:indexPath]; CGRect frame = CGRectMake(0.0, 0.0, cell.frame.size.width, cell.frame.size.height); frame.origin = [cell convertPoint:cell.frame.origin toView:self.view]; } 

Я хотел бы создать новый кадр, который исходит из позиции ячейки в представлении, а не в UICollectionView . Любая помощь будет большой благодарностью.

3 Solutions collect form web for “Как найти координаты UICollectionViewCell относительно окна приложения”

Этот ответ очень поздний, но, надеюсь, это поможет кому-то. Дэн, у тебя есть правильная идея, но это еще проще, чем то, что у тебя есть. Просто замените

 CGRect frame = CGRectMake(0.0, 0.0, cell.frame.size.width, cell.frame.size.height); frame.origin = [cell convertPoint:cell.frame.origin toView:self.view]; 

с

 CGRect frame = [collectionView convertRect:cell.frame toView:self.view]; 

Проблема заключалась в том, что вы вызывали метод convert в ячейке, а не в collectionView.

Если я правильно вас понимаю, я думаю, проблема в том, что сначала нужно исправить contentOffset , что легко сделать, поскольку UICollectionView является подклассом UIScrollView .

 CGRect frame = CGRectMake(0.0, 0.0, cell.frame.size.width, cell.frame.size.height); CGPoint correctedOffset = CGPointMake(cell.frame.origin.x - collectionView.contentOffset.x, cell.frame.origin.y - collectionView.contentOffset.y); frame.origin = [cell convertPoint:correctedOffset toView:self.view]; 

Я тестировал это в одном из своих демонстрационных приложений UICollectionView и, похоже, работает. Попробуйте.

На всякий случай, если кто-то ищет это, вот как это можно сделать в Swift:

 let cellFrameInSuperview = collectionView.convertRect(collectionView.cellForItemAtIndexPath(indexPath)!.frame, toView: view) 
  • Показывать XIB перед UITabBarController?
  • xcrun Невозможно скопировать в / var / folders
  • Загрузка файла .plist из URL-адреса
  • Что означает «ошибка в connection_block_invoke_2: соединение прерывается»?
  • Невозможно установить начальный контроллер просмотра в новой раскадровке в Xcode 6
  • Очистить цель xcode IOS в командной строке
  • Управление памятью Swift 2.2
  • «Thread 6 com.apple.NSURLConnectionLoader: принятый программный сигнал: EXC_BAD_ACCESS"
  • Файловый заголовочный файл не найден (инфраструктура по умолчанию для iOS)
  • dyld: библиотека не загружена: @ rpath / libswiftSwiftOnoneSupport.dylib
  • Тесты интерфейса Xcode с системой входа в систему
  • Interesting Posts

    Металлический экранный чертеж с мультисэмплированием

    Как сделать факс-вызов от Swift?

    Почему мой объект Realm не сохраняет сохраненные значения?

    iOS UITest: как найти AccessViewView UITableViewCell?

    Классы размеров wCompact | hAny и wCompact | hRegular действует не так, как ожидалось

    Интервал повторения UILocalNotification для пользовательского сигнала тревоги (солнце, mon, tue, wed, thu, fri, sat)

    Просмотр локального веб-сайта в Safari / iOS с компьютера Windows через USB

    Удалите несколько таблиц из одного запроса, разделив их с точки с запятой

    Что происходит с объектом ARC, который является CFBridgeRetained, но только CFReleased?

    NSString stringWithContentsOfURL сбой приложения, когда хост недоступен

    Исключение при извлечении пользовательских данных parse.com в iOS 8 Today Extension

    Как быстро локализовать раскадровку «на лету»?

    MKMapView по умолчанию или копировать / дублировать начальное состояние?

    EXC_BAD_ACCESS> KERN_PROTECTION_FAILURE

    Как скрыть UITabBar в UITabBarController, что я не подклассы?

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.