当存在单击手势时,按钮单击不起作用

时间:2011-10-14 07:06:50

标签: iphone uiimageview

我的视图层次结构如下

MyViewController - > ScrollView(通过IB添加) - > ImageView(+缩放那里)---> 图片查看上添加的按钮(通过代码添加)

imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"map.png"]];
[scroll addSubview:imageView];

UIButton *myButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];

myButton.frame = CGRectMake(660, 120, 40, 40);

[myButton setTitle:@"10" forState:UIControlStateNormal];

[myButton addTarget:self action:@selector(asiaPressed:) forControlEvents:UIControlEventTouchUpInside];

[myButton setEnabled:YES];
[imageView addSubview:myButton];

稍后在视图控制器中,我将选择器定义为

-(void) asiaPressed:(id)sender{
NSLog(@"asiaPressed clicked");

}

但它永远不会进入选择器..

请帮助......我猜这是非常基本的错误..

提前致谢

1 个答案:

答案 0 :(得分:1)

UIImageView默认将userInteractionEnabled属性设置为NO,因此它(及其子视图)不会接收触摸事件。您需要手动将该属性设置为YES:

...
imageView.userInteractionEnabled = YES;
...

P.S。你还提到问题标题中的手势识别器,但是没有发布任何代码 - 所以如果它出现它也可能导致问题,但问题很可能是我上面描述的