【发布时间】:2016-12-14 17:29:08
【问题描述】:
我目前正在尝试为应用制作退出按钮。
我选中了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],则会检测到轻拍。我缺少一个步骤吗?
【问题讨论】:
-
在添加手势识别器之前可以登录
userInteractionEnabled吗? -
使用
UIImageView代替UIButton有什么特别的原因吗? -
@ArtemNovichkov 我检查了它并没有启用!我在故事板中选中了“已启用用户交互”的 triats 框。但这似乎不起作用。谢谢
-
@RatulSharker 可以在图像视图上放置一个不可见按钮吗?我试过了,但我一直遇到错误“由于未捕获的异常'NSUnknownKeyException'而终止应用程序,原因:'[
setValue:forUndefinedKey:]:此类不符合键值编码的键值。”跨度> -
其实我打算用setImage。上面的错误是说你添加了一个 IBOutlet / IBAction,但这并没有在代码实现中声明。
标签: ios objective-c uiimageview uitapgesturerecognizer