【发布时间】:2020-01-29 10:35:55
【问题描述】:
我正在创建一个包含两个独立 UICollectionView 的视图控制器。我允许将单元格从一个 UICollectionView 拖到另一个。 在方法中
-(void)collectionView:(UICollectionView *)collectionView performDropWithCoordinator:(id<UICollectionViewDropCoordinator>)coordinator;
我得到这样的拖动项目
UIDragItem *item = [coordinator.items objectAtIndex:0];
要确定拖动是否来自同一个 UICollectionView,我想检查 itemobject 上的属性 sourceIndexPath,如 https://developer.apple.com/documentation/uikit/uicollectionviewdropitem/2897392-sourceindexpath?language=objc 中所述
不幸的是,Xcode 一直告诉我Property 'sourceIndexPath' not found on object of type 'UIDragItem *'
当我打印出item时,我清楚地看到该属性可用,这里的nil值无关紧要,它表示拖动源。
<_UICollectionViewDropItem:0x60000189a760 previewSize = {50, 50}; sourceIndexPath = (nil); dragItem = <_UIDropItem: 0x60000240a0a0>>
我真的被困在了这里,感觉好像我忘记了实现某些协议,但是检查了两次三次,一切似乎都很好。谢谢!
【问题讨论】:
标签: ios objective-c drag-and-drop