UITextField 和左视图中的点击手势

UITextField and tap gesture in leftView

我在 textField 的 leftView 上有一个图标,我想向它添加点击手势。这是我的代码:

if (!textField.leftView){
    UIImageView *infoImage = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 30, 18)];
    infoImage.image = [UIImage imageNamed:@"info"];
    infoImage.contentMode = UIViewContentModeCenter;
    textField.leftView = infoImage;
    textField.leftViewMode = UITextFieldViewModeAlways;
    UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(showErrorMessage:)];
    tapRecognizer.numberOfTapsRequired = 1;
    [infoImage addGestureRecognizer:tapRecognizer];
}

问题是当用户点击左视图上的图像时没有任何反应并且 showErrorMessage 没有被调用。

更新 通过在 infoImage 上启用 userInteraction 解决了点击问题。
但是现在我在 Show errorMessage :

的第二行得到 [UITapGestureRecognizer tag]: unrecognized selector sent to instance
-(void)showErrorMessage:(id)sender{
UIImageView *icon = (UIImageView *)sender;
NSString *key = [@(icon.tag) stringValue];
NSLog(@"%@", [_errorDictionary objectForKey:key]);

}

失踪infoImage.userInteractionEnabled = YES;

您必须将图像的 属性 userInteractionEnabled 设置为 TRUE