【问题标题】:iPhone: Multiple touches on a UIButton are not recognizediPhone:无法识别 UIButton 上的多次触摸
【发布时间】:2010-12-30 20:06:12
【问题描述】:

我有一个 UIButton(实际上是 one 的子类),它通过 touchesbegan: 和 touchesmoved: 函数与用户交互。

我希望用户能够按下按钮,将手指拖开,然后用第二根手指触摸按钮(同时第一根手指从未离开过屏幕)。

问题是,第二个触摸事件永远不会调用 touchesbegan: 除非第一根手指已经松开。

有什么方法可以覆盖它,还是我试图做不可能的事情?

【问题讨论】:

    标签: ios objective-c uibutton touchesbegan touches


    【解决方案1】:

    您是否尝试过将multipleTouchesEnabled 设置为YES?

    【讨论】:

    • 啊,我真傻,我以为我已经尝试过了,但显然没有。干杯:)
    • 感谢它解决了我想要让应用处理单点触摸的多点触摸问题。
    【解决方案2】:

    如果交互使用 touchesbegan:touchesmoved:,则使用 UIView 而不是 UIButton。一个按钮就是一个UIControl,和UIControls交互的方式是

    - (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents.
    

    我不确定这两种获取事件的方式是否混合得很好。

    【讨论】:

    • 有点折腾...由于 setBackgroundImage:forState: 方法,我正在使用 UIButton。它现在可以工作了,所以我猜在这种情况下 UIButton 会起作用。不过谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-29
    • 2011-11-21
    • 1970-01-01
    • 1970-01-01
    • 2010-11-29
    相关资源
    最近更新 更多