【问题标题】:UIWindow stops receiving touches after removing a subview from itUIWindow 在从中删除子视图后停止接收触摸
【发布时间】:2023-03-29 02:00:01
【问题描述】:

我正在使用 UIWindow 的子类来处理应用程序所有视图中的触摸事件。 我正在尝试实现拖放机制。

点击并按住视图时,我会移除该视图并开始用手指拖动。 问题是在我删除视图后,窗口停止接收触摸事件,直到我抬起手指并再次触摸它。

帮助?

编辑: 我发现删除子视图后,窗口正在接收触摸但触摸阶段是UITouchPhaseStationary而不是UITouchPhaseMoved,即使[事件触摸]中只有一个UITouch;这怎么可能?

【问题讨论】:

    标签: iphone ios uiview uitouch uiwindow


    【解决方案1】:

    我不太确定,但我认为您的问题是因为您正在尝试处理 UIWindow 类中的事件,而不是 UIViewController 类。 UIWindow 不是为此而设计的。你为什么不试试这个:

    1. UIViewController 类的实例添加到您的项目中。
    2. 将该UIViewController 的视图添加到您的UIWindow 实例中。
    3. 将触摸处理方法添加到UIViewController
    4. 将您的第一个视图添加到UIViewController
    5. 响应触摸事件。
    6. UIViewController 中删除第一个视图,并引入第二个视图,或其他。 (这是在UIViewController 下交换视图,而不是在UIWindow 的实例中。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多