UITapRecognizer无法使用ImageView

时间:2016-12-14 17:29:08

标签: ios objective-c uiimageview uitapgesturerecognizer

我目前正在尝试为应用创建一个注销按钮。

我启用了UIImageView"用户互动"盒子检查。

在我的.h文件中,我有这个:

@property (strong, nonatomic) IBOutlet UIImageView *signOutButtonIV;

在我的.m文件中我有这个:

- (void) viewDidLoad{

[super viewDidLoad];

    UITapGestureRecognizer* tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapResponder:)];

    tapGestureRecognizer.numberOfTapsRequired = 1;
    tapGestureRecognizer.numberOfTouchesRequired = 1;
    [self.signOutButtonIV addGestureRecognizer:tapGestureRecognizer];

}

-(void) tapResponder:(UITapGestureRecognizer *) sender{
    NSLog(@"single tap detected");
}

如果我改为使用[self addGestureRecognizer:tapGestureRecognizer],则会检测到水龙头。我缺少一步吗?

3 个答案:

答案 0 :(得分:0)

添加以下行

[self.signOutButtonIV setUserInteractionEnabled:YES]; 
[PARENT_VIEW bringSubviewToFront:self.signOutButtonIV];

之前[self.signOutButtonIV addGestureRecognizer:tapGestureRecognizer];

答案 1 :(得分:0)

感谢Artem Novichkov指出要记录userEnabledInteraction。

日志回来了。即使我在故事板文件中选中了该框,也没有启用它。

[signOutButtonIV setUserInteractionEnabled:YES];

是解决我的问题所需要的。

谢谢Artem!

答案 2 :(得分:0)

还可以使用故事板来实现结果: -

enter image description here