【发布时间】:2012-06-11 11:08:04
【问题描述】:
我创建了 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。
【问题讨论】:
-
你的边界/框架是否正确?
-
显然是的,我的子类实际上是一个用 CoreGraphics 绘制的圆。帧是:10、30、30、30。
-
有关信息(它可能会有所帮助),我向您展示的代码位于 tableView:cellForRowAtIndexPath 方法中。一个想法?
-
在这种情况下,如果您将 customView 声明为 UIControl 而不是 UIView 并删除 UITapGestureRecognizer 并向您的 CustomView 添加目标(如向 UIButton 添加目标)会更好
-
我用 UIControl 试过了,也不行。
标签: iphone objective-c ios5 uiview uigesturerecognizer