【问题标题】:Detect a Tap on an Already Activated UITextField检测已经激活的 UITextField 上的点击
【发布时间】:2013-11-21 18:20:16
【问题描述】:

我有一个 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)。

有什么建议吗?

【问题讨论】:

    标签: ios objective-c uitextfield


    【解决方案1】:

    如何在文本字段上添加一个透明视图(或 99% 透明),并将手势识别器放在该视图中?

    当用户激活视图时插入视图,当文本视图关闭时将其移除。

    我记得您可能需要使用 alpha = 0.999; 的透明度,因为我似乎记得完全透明的视图不会激活其手势识别器(但我可能是错的,或者我的信息已过期。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-28
      • 2014-08-30
      • 1970-01-01
      • 2013-01-07
      • 2020-07-17
      • 2021-12-24
      • 1970-01-01
      相关资源
      最近更新 更多