我有一个UITextField并且它被激活(插入符号闪烁)。我想检测用户何时点击UITextField(默认行为是显示/隐藏“Select / SelectAll / Paste”上下文菜单)。我尝试了几件事,其中一件是UITapGestureRecognizer:
self.userInteractionEnabled = YES;
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tap:)];
[self addGestureRecognizer:tap];
tap.delegate = self;
只需点击UITextField就不会调用我的处理程序。
- (void)tap:(UITapGestureRecognizer *)tap
{
if (tap.state == UIGestureRecognizerStateBegan)
{
// do something
}
if (tap.state == UIGestureRecognizerStateEnded)
{
// do something
}
}
“轻扫”UITextField会产生调用(这不能解决问题),即便如此,tap.state总是UIGestureRecognizerStateEnded(我希望能够区分TouchDown和TouchUp)。
有什么建议吗?
答案 0 :(得分:1)
如何在文本字段上添加透明视图(或99%透明),并将手势识别器放在该视图中?
在用户激活视图时插入视图,并在取消文本视图时将其删除。
我记得你可能需要使用alpha = 0.999;的透明度,因为我似乎记得完全透明的视图不会激活他们的手势识别器(但我可能是错的,或者我的信息已经过时了。)