【问题标题】:iphone sdk: how to distinguish between touch and dragiphone sdk:如何区分触摸和拖动
【发布时间】:2014-01-20 11:03:36
【问题描述】:

我正在使用 2 个 pod。

MMDrawerController 0.5.1&WYPopoverController 0.1.7

现在我想在我的 MMView 上制作一个 WYPopover

一些图片:

这就是MMController 的样子(游乐场)

现在我想在任何地方触摸它,让它看起来像:

错误:如果我想从“MMController”打开左视图,有时我会得到:

但它应该看起来像(左 MMControllerView)

我正在使用两种方法:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
// show the popoverController
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
    [popController dismissPopoverAnimated:NO];
}

我的问题:为什么 touchesMoved 不被称为连续的,是否有更好的方法?

【问题讨论】:

    标签: ios iphone objective-c drag popover


    【解决方案1】:

    我对你提到的“豆荚”一无所知(CocoaPods?)但是,区分点击和拖动的最直接方法是使用一对手势识别器、一个点击手势识别器和一个平移手势识别器,并设置点击手势识别器,以便在触发点击之前平移手势必须失败(手势识别器中内置了“等到另一个手势识别器失败”机制。)

    我建议阅读 UIGestureRecognizer,以及特定的类 UITapGestureRecognizer 和 UIPanGestureRecognizer

    【讨论】:

      【解决方案2】:

      您可以在要打开左侧菜单时关闭弹出框, 即您可以在幻灯片菜单的委托方法中执行此操作: - menuWillOpen:或类似的东西。

      【讨论】:

      • 你确定调用了委托方法吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-28
      • 1970-01-01
      • 2011-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多