【问题标题】:Prevent tap event on UITextView防止 UITextView 上的点击事件
【发布时间】:2012-02-21 13:21:32
【问题描述】:

2012-02-21 11:59:18.106 textView[20977:fe03] ; target= >

2012-02-21 11:59:18.107 textView[20977:fe03] ;目标= >

2012-02-21 11:59:18.108 textView[20977:fe03] ;目标= ; numberOfTapsRequired = 3>

2012-02-21 11:59:18.108 textView[20977:fe03] ;目标= ; numberOfTapsRequired = 2>

2012-02-21 11:59:18.109 textView[20977:fe03] ;目标= ; numberOfTouchesRequired = 2>

2012-02-21 11:59:18.123 textView[20977:fe03] ;目标= >

2012-02-21 11:59:18.124 textView[20977:fe03] ; target= >

2012-02-21 11:59:18.124 textView[20977:fe03] ;目标= >

2012-02-21 11:59:18.129 textView[20977:fe03] ;目标= >

在 UITextView 上的手势识别器列表上方。我需要防止事件:UITextView 上的 twoFingerSingleTap,但只有这个事件。有可能吗?

【问题讨论】:

    标签: iphone objective-c events uitextview uigesturerecognizer


    【解决方案1】:

    UITextView,与UIView 的任何其他子类一样,具有gestureRecognizers 属性,其中包含附加到视图的所有手势识别器的NSArray。枚举这个数组,找到你正在寻找的识别器并禁用它。

    【讨论】:

    【解决方案2】:

    你需要这样的东西:

    for (UIGestureRecognizer *g in myTextView.gestureRecognizers)
    {
        if ([g isKindOfClass:[UITapGestureRecognizer class]])
        {
            if (([(UITapGestureRecognizer *)g numberOfTouchesRequired] == 2) && ([(UITapGestureRecognizer *)g numberOfTapsRequired] == 1))
            {
                [g setEnabled: NO];
            }
        }
    }
    

    【讨论】:

    • @Kyr Dunenkoff:我同意你的回答更有教育意义。为此+1。但我们都从现成的代码中学到了一些东西。
    猜你喜欢
    • 1970-01-01
    • 2012-01-17
    • 1970-01-01
    • 2015-04-28
    • 1970-01-01
    • 2013-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多