我的视图层次结构如下
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");
}
但它永远不会进入选择器..
请帮助......我猜这是非常基本的错误..
提前致谢
答案 0 :(得分:1)
UIImageView默认将userInteractionEnabled属性设置为NO,因此它(及其子视图)不会接收触摸事件。您需要手动将该属性设置为YES:
...
imageView.userInteractionEnabled = YES;
...
P.S。你还提到问题标题中的手势识别器,但是没有发布任何代码 - 所以如果它出现它也可能导致问题,但问题很可能是我上面描述的