我在检测 UIImageView 上的触摸事件时遇到问题。我对 UIImageView 进行了分类并覆盖了 canBecomeFirstResponder、touchedBegan 和 touchesEnded:
@implementation ImageViewNext
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
self.userInteractionEnabled = YES;
}
return self;
}
-(BOOL)canBecomeFirstResponder
{
return YES;
}
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
NSLog(@"Touches Began event");
}
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
NSLog(@"Touches Ended");
}
我确保所有父视图都启用了用户交互。
但我没有得到我的事件?
我试图在这里找到解决方案,但没有任何运气。但在我的搜索中,我发现有些人使用“UIGestureRecognizer”来获得相同的效果。那么作为一个附带问题,使用覆盖方法或使用 UIGestureRecognizer 的“正确”解决方案是什么?我不喜欢为普通按钮提供图像的解决方案,因此请远离这些帖子:)