【问题标题】:UIScrollView does not receive touch events immediately after appearingUIScrollView 出现后不会立即接收到触摸事件
【发布时间】:2015-01-15 21:28:15
【问题描述】:

我有一个绘图应用程序,我将图像加载到 UIImageView 并使用 touchesBegan、touchesMoved 和 touchesEnded 来绘制简单的线条。我通过 UIImageView 移动到 UIScrollView 以允许用户放大绘图。现在,在加载图像后,如果用户尝试立即开始绘制(在图像变得可见的几秒钟内),touchesBegan 不会触发。如果用户等待 2 或 3 秒开始绘图,则一切正常。

我尝试设置delaysContentTouches=NO 无效。我也实现了touchesShouldBegin:,但是这个方法只有在 touchesBegan 被调用时才会被调用(并且绘图工作正常)。我见过的其他解决方案(例如确保启用用户交互并使用 hitTest 确保命中发生在我期望的视图中)似乎不适用于我的情况,因为一切都在 2-3 秒后按预期工作。还有其他我应该注意的时间问题吗?

【问题讨论】:

    标签: ios objective-c uiscrollview


    【解决方案1】:

    试试这个:

        scrollView.canCancelContentTouches = NO;
    

    如果你有任何手势,你可能需要使用这个:

        gestureRecognizer.cancelsTouchesInView = false;
    

    【讨论】:

    • 我在尝试选择正确的对象时遇到了 Sprite Kit 的这个问题,但在这种情况下。您正在尝试在图像移动后立即进行绘制。您将需要找到解决方法。如果您实际使用多个线程,您只会遇到时间问题。提供一些代码,然后也许我可以弄清楚。
    猜你喜欢
    • 1970-01-01
    • 2016-07-20
    • 2014-08-14
    • 1970-01-01
    • 1970-01-01
    • 2012-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多