我在我的 rootview 中添加了一个自定义视图并添加了一个 UITapGesture。当调用 UITapGesture 代码的“sender.view”时,它不再由我的自定义 UIView 表示,而是“sender.view”的类型为 UIImageView。
因此,当 iOS 期待 UIView 时,向我的自定义视图发送消息真的很困难——我得到的警告是:“不兼容的指针类型将 UIView 发送到参数 CardView(我的自定义视图)。
我认为这与响应链有关;文档说 - “当 iOS 识别一个事件时,它会将事件传递给看起来与处理该事件最相关的初始对象,例如发生触摸的视图。” -关于 iOS 中的事件
这里的关键字是“似乎”——我如何告诉 iOS 我的自定义视图是应该处理手势的?
问题:如何让 sender.view 直接引用我的自定义视图?
下面是一些代码:
//Creates the Card's view
CardView *cardView = [[CardView alloc]initWithFrame:CGRectMake(0, 0, 67,99)];
//For Single Tap
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(handleSingleTapGesture:)];
[cardView addGestureRecognizer:tapGesture];
[self.view addSubview:cardView];