Ios UICollectionView:辅助视图块项目选择

Ios UICollectionView:辅助视图块项目选择,ios,objective-c,uicollectionview,uicollectionviewcell,uicollectionviewlayout,Ios,Objective C,Uicollectionview,Uicollectionviewcell,Uicollectionviewlayout,我正在为UICollectionView实现日历布局。有“事件”单元格和“当前时间”补充视图。根据设计,我在事件上方显示“当前时间”视图 问题是,如果用户触摸“当前时间”视图,则无法选择“事件”单元格 我试图覆盖补充视图的-(UIView*)hitTest:(CGPoint)pointwithevent:(UIEvent*)event方法,并返回nil,它从未调用过的位userInteractionEnabled等于YES 有什么想法吗?如何将触摸从补充视图转移到UICollectionView

我正在为
UICollectionView
实现日历布局。有“事件”单元格和“当前时间”补充视图。根据设计,我在事件上方显示“当前时间”视图

问题是,如果用户触摸“当前时间”视图,则无法选择“事件”单元格

我试图覆盖补充视图的
-(UIView*)hitTest:(CGPoint)pointwithevent:(UIEvent*)event
方法,并返回nil,它从未调用过的位<对于此补充视图,code>userInteractionEnabled等于
YES


有什么想法吗?如何将触摸从补充视图转移到
UICollectionView
单元格

我不完全理解您想要实现的目标,也许一些代码会有所帮助,但我猜您想在标题视图中点击一些内容并选择今天的事件

如果是这样,您需要在补充视图中捕获触摸,可能需要使用UIButton。那你想打电话吗

[_collectionView selectItemAtIndexPath:myIndexPath animated:YES scrollPosition:position];

如果你说触摸辅助视图块会接触到集合视图,我会检查框架,因为你可能在其他视图上有一些东西,但没有意识到。也许试着把元素的背景变成红色等,看看它们在哪里。

我认为最好的方法是优化你的响应链,看看

但是,如果您试图做一些真正不规则的事情,您总是可以通过一些专用视图显式地处理用户触摸。如果已获得用户触摸的坐标,则使用UICollectionView方法获取受影响单元格的索引路径:

- (NSIndexPath *)indexPathForItemAtPoint:(CGPoint)point
不要忘记使用UIView方法将坐标转换为适当的坐标系:


你能发布一些你想要达到的目标的截图吗?
- (CGPoint)convertPoint:(CGPoint)point toView:(UIView *)view