【问题标题】:ios simulator: simulate swipe and dragios模拟器:模拟滑动和拖动
【发布时间】:2011-11-13 18:54:20
【问题描述】:

我在 UIScrollView 中有一个 UIView。当我想模拟 UIView 上的拖动事件时,正在触发 UIScrollView 上的滑动事件。

根据 documentation ,滑动和拖动之间没有太大区别。
滑动

1- Place the pointer at the start position.  
2- Hold the mouse button. 
3- Move the pointer in the swipe direction and release the mouse button.


拖动

1- Place the pointer at the start position.
2- Hold down the mouse button.
3- Move the pointer in the drag direction.

在 ipad 上,我可以用两根手指两次滑动和一根手指拖动。现在,我该如何在模拟器上做类似的事情;拖动而不是滑动?

编辑 1: 我应该先更清楚。无论如何,我的问题是鼠标拖动是触发滑动而不是拖动,从而滚动滚动视图而不是将拖动事件传递给滚动视图包含的 UIView。 我在macbook pro上。触摸板上的两指轻扫被忽略。触摸和拖动导致与鼠标拖动相同的事情。 谢谢

【问题讨论】:

  • 可以通过使用macbook触摸板/魔术触控板吗?
  • @Marek 触摸板没有多大帮助。两指滑动被忽略,没有任何反应。按住并拖动会产生与鼠标拖动相同的效果。我已经更新了问题。
  • 嗯,手势和滚动视图有点问题,因为它首先接收事件......如果你真的想这样做,我认为你应该覆盖 hitTest:withEvent: 并检查哪个视图有事件并传递给它

标签: objective-c ios drag swipe ios-simulator


【解决方案1】:

请参阅以下文档: iOS Simulator User Guide

只需使用鼠标拖动视图,也就是左键单击视图然后移动鼠标

【讨论】:

    【解决方案2】:

    我最终禁用了 UI 的滚动,并添加了两个按钮来滚动滚动视图。由于这仅适用于模拟器,因此我在为设备构建时使用了#ifndef 来隐藏按钮。

    【讨论】:

    • 这没有回答最初提出的问题。
    【解决方案3】:

    请参阅Jeff LaMarche's quick note 了解如何执行此操作。它记录在您正在阅读的同一页中,但 Jeff 的解释更清楚。

    如果您想在 iPhone 模拟器中模拟两指手势,请按住选项键。您将在屏幕上看到两个点,而不是一个。这两个点将默认为捏合 - 如果您将点靠近屏幕中心,另一个点会朝向中心,从而可以轻松模拟捏合或捏合。

    如果您想做不同的两指手势,请将两个点分开您希望的距离,然后按住 shift 键,同时按住 option 键。这会将两个手指按下的位置锁定在一起,以便您可以执行例如两指滑动。

    【讨论】:

    • @Rob 我的问题是鼠标拖动正在触发滑动(两个手指手势)。我无法触发拖动事件(一个手指手势)。更新了问题。
    猜你喜欢
    • 2015-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-04
    • 2019-08-04
    • 2015-05-31
    相关资源
    最近更新 更多