我已经创建了UIView的自定义子类,因为我需要覆盖drawRect方法。 我尝试添加一个UITapGestureRecognizer,但这对我不起作用。 这里是我的ViewController的代码:
MyCustomView *customView = [[MyCustomView alloc] initWithFrame:CGRectFrame(0, 30, 30, 30)];
[customView setUserInteractionEnabled:YES];
UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(doSomething)];
[customView addGestureRecognizer:tapGestureRecognizer];
我不明白为什么当我触摸我的UIView子类对象时,手势识别器不会启动。
提前多多感谢!
固定它!
我的观点是在UIImageView上,而UIImageView没有将userInteractionEnabled
设置为YES。
答案 0 :(得分:13)
固定它!
我的观点是在UIImageView上,而UIImageView没有将userInteractionEnabled
设置为YES。
答案 1 :(得分:0)
确保将其显示在某处(addSubview
)。
答案 2 :(得分:0)
还要确保userInteractionEnabled设置为true。如果这是真的,请发布创建并挂钩手势识别器的代码。
答案 3 :(得分:0)
在要添加的子视图中将UserInteractionEnable检查设置为true,并在选择器方法中,将对象与其一起传递,即
。UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(doSomething:)];
并将选择器方法设为
-(void) doSomething:(UITapGestureRecognizer *)gesture;
如果您还有问题,请告诉我。 谢谢!