1
我有嵌入在滾動視圖UICollectionView單元格的中心點:獲取滾動內嵌視圖
每個白方塊是一家集視圖單元格。用戶可以水平滾動顯示其他單元格。
當用戶點擊一個單元格時,我創建了一個動畫,導致該單元格從它自己的中心向外擴展,並向新的視圖控制器轉換。
下面是代碼:
//cell is selected:
//grab snapshot of cell
UICollectionViewCell *cell = [collectionView cellForItemAtIndexPath:indexPath];
UIImage *cellImage = [self imageOfCollectionCell:cell];
//hold the snapshot in this dict
NSMutableDictionary *cellImageDict = [[NSMutableDictionary alloc]init];
[cellImageDict setObject:cellImage forKey:SELECTED_INBOX_EMAIL_IMAGE];
[ViewControllerSnapShotDictionary sharedInstance].vcdict = nil;
[ViewControllerSnapShotDictionary sharedInstance].vcdict = cellImageDict;
//get the center of the cell (HERE IS WHERE THE PROBLEM IS)
CGPoint cellCenter = CGPointMake(cell.center.x, cell.center.y);
//do the animation using the snapshot and cell center
[self startPinchingOutCellFromCenterPoint:cellCenter forTransitionTo:emailController withSnapShotImage:SELECTED_INBOX_EMAIL_IMAGE];
的代碼工作正常,但如果集合視圖已滾動。動畫要求我知道單元格的中心在屏幕上的哪個位置,觸摸的位置以及相對於我正在查看的視圖的座標的位置。然而
cell.center.x = 490
cell.center.y = 374
,如果我做滾動到:
例如,如果集合看法並沒有被滾動,而我選擇了上述圖像的中心單元,該中心還不如回右,然後選擇新的中心單元,我可能會得到這樣的:
cell.center.x = 1770
cell.center.y = 374
我的問題是,是否有任何更好的方法來完成我想做的事,或者是有一種方式來獲得它位於細胞中心的一個手柄在self.view中的當前位置?