Ios UICollectionViewCell中的MKMapView,未调用didSelectItemAtIndexPath

Ios UICollectionViewCell中的MKMapView,未调用didSelectItemAtIndexPath,ios,objective-c,mkmapview,uicollectionviewcell,Ios,Objective C,Mkmapview,Uicollectionviewcell,我有一个UICollectionView,其中一些单元格包含一个MKMapView。在mapView上点击这些单元格不会触发UICollectionView的didSelectItemAtIndexPath,在所有其他单元格中都可以正常工作 我知道这可能是因为MKMapView拦截了点击,因此我关闭了mapview可用的所有交互 cell.mapView.userInteractionEnabled = NO; 但是,即使禁用了用户交互,当在单元格中显示并点击mapView时,也不会调用did

我有一个UICollectionView,其中一些单元格包含一个MKMapView。在mapView上点击这些单元格不会触发UICollectionView的didSelectItemAtIndexPath,在所有其他单元格中都可以正常工作

我知道这可能是因为MKMapView拦截了点击,因此我关闭了mapview可用的所有交互

cell.mapView.userInteractionEnabled = NO;
但是,即使禁用了用户交互,当在单元格中显示并点击mapView时,也不会调用didSelectItemAtIndexPath


如何才能完全禁用mapView上的手势识别器以使其正常工作?

经过一段时间的实验,结果表明,当在代码中禁用用户交互时(如问题中所述),而不是从interface builder中的设置中禁用时,它就可以正常工作


我已经验证了这是我的问题所在,IB中MapView的“用户交互启用”设置在这种情况下无效。但是,在collectionView:(UICollectionView*)cv cellForItemAtIndexPath:(NSIndexPath*)中以编程方式禁用用户交互可以正常工作。

经过更多的实验,结果表明,在代码中禁用用户交互(如问题中所述)时有效,但在interface builder中的设置中无效

我已经验证了这是我的问题所在,IB中MapView的“用户交互启用”设置在这种情况下无效。但是,在collectionView:(UICollectionView*)cv cellForItemAtIndexPath:(NSIndexPath*)中以编程方式禁用用户交互可以正常工作