所以我有一个自定义视图,我在viewcontroller的for循环中创建了许多。在创建它们时,我在每个方法上调用这个方法:
-(void)setUpStuff{
//Random setup code
[self setUserInteractionEnabled:YES];
tapGesture = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tileSelected:)];
tapGesture.numberOfTapsRequired = 1;
tapGesture.numberOfTouchesRequired = 1;
[self addGestureRecognizer:tapGesture];
}
这是它应该调用的选择器:
-(void)tileSelected{
NSLog(@"Why am I not working?");
[self.delegate tileSelected:self];
}
值得一提的是,这个customView中嵌入了一个imageView和标签。我已经尝试将手势识别器添加到imageView并确保将imageView带到最前面,然而,这也不起作用..任何想法?
答案 0 :(得分:1)
您的选择器调用错误
它应该是:
tapGesture = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tileSelected)];
没有:
答案 1 :(得分:0)
您需要设置视图的用户交互启用所需的所有内容,您需要在其中添加手势,并且您的选择器在方法末尾包含:
,这意味着您需要在方法中添加参数或仅从选择器的末尾删除:
答案 2 :(得分:0)
您可以将tileSelected func更改为:`
-(void)tileSelected:(UITapGestureRecognizer*)gesture{
NSLog(@"Why am I not working?");
[self.delegate tileSelected:self];
}