UITapGestureRecognizer 为零
Posted
技术标签:
【中文标题】UITapGestureRecognizer 为零【英文标题】:UITapGestureRecognizer is nil 【发布时间】:2014-09-04 11:46:49 【问题描述】:我有一个表,应该将手势识别器添加到表头标签中。这是通过以下代码完成的:
UITapGestureRecognizer *singleFingerTap =
[[UITapGestureRecognizer alloc] initWithTarget:self
action:@selector(handleTableheaderTap:)];
[headerView addGestureRecognizer:singleFingerTap];
singleFingerTap.delegate = self;
选择器方法如下所示:
- (void)handleTableheaderTap:(UITapGestureRecognizer *)recognizer
不幸的是,当方法被调用时,识别器为 nil。我需要改变什么,所以识别器在 handletTableheaderTap 中不再是 nil 了吗?
谢谢!
【问题讨论】:
您如何确定“调用方法时识别器为零”? 【参考方案1】:您必须将实例存储在控制器属性中。 声明一个私有属性来存储它。
例子:
@interface MyViewController()
@property (nonatomic, strong) UITapGestureRecognizer *singleFingerTap
@end
...
self.singleFingerTap = [[UITapGestureRecognizer alloc] initWithTarget:self
action:@selector(handleTableheaderTap:)];
[headerView addGestureRecognizer:singleFingerTap];
singleFingerTap.delegate = self;
【讨论】:
对 -1 的评论?以上是关于UITapGestureRecognizer 为零的主要内容,如果未能解决你的问题,请参考以下文章
UITapGestureRecognizer 不适用于 UIView 动画
使用 UITapGestureRecognizer 无法识别的选择器
UIlabel 中的 UITapGestureRecognizer 错误