在uiscrollview中检测uiimageview中的水龙头

Jor*_*rge 17 iphone sdk uiimageview

我有一个UIScrollView,其中包含多个UIImageViews.

frame = [[UIImageView alloc] initWithImage:bg];
frame.frame = CGRectMake(FRAME_SEPARATOR + numPage*1024 + numColumn*(FRAME_SEPARATOR+230), 10 +numRow*(FRAME_SEPARATOR+145), 230, 145);
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(imageTapped:)];
[frame addGestureRecognizer:tap];
[tap release];
[scroll addSubView:frame];
Run Code Online (Sandbox Code Playgroud)

问题是在点击图像时没有调用imageTapped.

如果我将手势识别器添加到滚动视图,如下所示:

UITapGestureRecognizer *tap =
[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(imageTapped:)];
[scroll addGestureRecognizer:tap];
[tap release];
Run Code Online (Sandbox Code Playgroud)

imageTapped被调用.

如何检测UIImageViews上的水龙头?

谢谢

小智 46

确保UIImageView上的userInteractionEnabled设置为YES:

frame.userInteractionEnabled = YES;
Run Code Online (Sandbox Code Playgroud)

我还建议为UIImageView变量使用不同的名称(例如imageView而不是frame).否则,您可以轻松地将其与视图的框架属性混淆.