Ios5 iOS手势处理:使用自定义UIView时在何处添加手势识别器

Ios5 iOS手势处理:使用自定义UIView时在何处添加手势识别器,ios5,uigesturerecognizer,Ios5,Uigesturerecognizer,我有一个视图控制器,我在其中显示一个网格/图像数组,其中每个图像视图都是一个自定义nib(自定义nib,因为图像也有一个名称&喜欢/不喜欢图标)。因此,我在我的视图控制器viewDidLoad中显示了这样的图像网格 int row=0, col=0; for (int i=0; i<arrayImg.count; i++) { NSArray *topObj = [[NSBundle mainBundle] loadNibNamed:@"CustomImageView" owner

我有一个视图控制器,我在其中显示一个网格/图像数组,其中每个图像视图都是一个自定义nib(自定义nib,因为图像也有一个名称&喜欢/不喜欢图标)。因此,我在我的视图控制器
viewDidLoad
中显示了这样的图像网格

int row=0, col=0;
for (int i=0; i<arrayImg.count; i++) {
    NSArray *topObj = [[NSBundle mainBundle] loadNibNamed:@"CustomImageView" owner:nil options:nil];
    CustomImageView *imgView = [topObj objectAtIndex:0];
    imgView.frame = CGRectMake(180*col+10, 180*row+10, 170, 170);

    // custom image values inserted here

    [self.view addSubView:imgView];

    // update the row,col variables here
}
int行=0,列=0;

对于(int i=0;i您当然可以将手势识别器添加到
CustomImageView
(前提是它是
UIView
)。请尝试以下操作:

UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapped:)];
[tapRecognizer setNumberOfTapsRequired:1];
[tapRecognizer setDelegate:self];

[imgView addGestureRecognizer:tapRecognizer];
请注意,您应该看到的唯一自动完成的方法是
addgestureerecognizer


一般来说,为了决定功能是否存在,您更喜欢官方文档(或编译器,如果您愿意),而不是自动完成。根据我的经验,自动完成并不总是正确的。

您当然可以将手势识别器添加到
CustomImageView
(前提是它是
UIView
).试试这样:

UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapped:)];
[tapRecognizer setNumberOfTapsRequired:1];
[tapRecognizer setDelegate:self];

[imgView addGestureRecognizer:tapRecognizer];
请注意,您应该看到的唯一自动完成的方法是
addgestureerecognizer


一般来说,为了决定功能是否存在,你更喜欢官方文档(或者编译器,如果你喜欢的话)而不是自动完成。根据我的经验,自动完成并不总是正确的。

+1谢谢sergio。这很有效。谢谢你关于自动完成的提示,我会记住这一点。:/1谢谢sergio。成功了。感谢您提供有关自动完成的提示,请记住这一点。:)